The Difference Between Hardware and Software Firewalls

Greetings,
I'm quite confident that my software firewall, which is installed by default in my computer, has done its job well. But why do we need a hardware firewall? Are there vulnerabilities in a software firewall that hardware firewall don't have? How will I know if I'll have to use a hardware firewall or stick to my software firewall?
