I been told that you should only go for a hardware firewall.
While hardware one is best at keeping stuff out (& in, if correctly configured) and creates a safe 'bubble' for your lan, a software one is more dynamic (but are less secure as they rely on healthy background processes on your pc, vunrable to crashes or attacks)
I tend to use both, my hardware one to keep "them" out, and my software ones to keep "it" in.
(on mine theres a bit more to it than that but thats basically it)