I been told that you should only go for a hardware firewall.
A hardware firewall is better at protecting your network as a whole from threats from the outside -- however, it will do absolutely nothing to prevent anything nasty from getting *out* of your computer.
A firewall (hardware or software) will do nothing to protect your computer from threats over 'authorized' ports -- meansing that someone can email you a trojan horse, virus, or whatever. You can also get infected from a CD, etc.
Now, imagine this trojan horse getting exectured on your PC. Imagine it searching your HD and sending all kinds of important files to its creators computer somewhere.
A hardware firewall will only see outgoing traffic from a trusted source (your computer) and let it all out without a blip. A software firewall will see attempted outgoing traffic originating in a program (the virus) that hasn't been authorized to send before, so will either flat-out block it, or ask for permission first.
For the *best* results you need *both* hardware and software firewall.