personally I use zonealarm, but there are some other good ones out there. Just none that I can remember right now...
>>2 has a good point, you should never have your computer directly connected to the internet (as in having an external IP) But software firewalls will protect against things that you download, (like a virus in a file or such)