@Advanced Computer Group, I generally agree, but have some clarifications.
1) Hardware firewalls typically do not stop inbound traffic once the connection has been initiated from the inside. They automatically allow return traffic. This is why Skype and LogMeIn and other 2-way programs work without opening specific ports on the firewall. It's also one way malware can bring more trash to a computer.
2) Typical hardware firewalls also do not alert you to the fact that some unknown program (one that is not on a whitelist) is attempting to start an outbound connection. Software firewalls will.
3) Hardware firewalls, like software firewalls, are just code someone has written and are also open to having bugs. If perfect, routers would never have new firmware editions.
Having said that, some security gateways/appliances have more features and configuration than the typical router with a firewall.
I definitely agree with you about being prudent in you use of the Internet. With the frequent vulnerabilities in web browsers and Windows, and with the good websites that are hacked by the bad guys, you may surf to any well-known, "good" website and find yourself infected by a malicious script, a malicious flash movie, a "clear click" spoof, and other tricks.
Oh. Why have a software and a hardware firewall?
A) The hardware firewall comes as part of most routers and will keep your computer's local IP Address from being directly seen on the Internet. It also will block nearly all of the thousands of ports that someone could try to use to connect to a computer. That means less possible points of attack.
B) What does get through, will still have to get through the software firewall, which may have smarter code to check for attack behavior. Also, the software firewall can stop unknown programs from taking your data and sending it back to the bad guys.
Is all of this ideal? No. Be safe out there.
-- Patrick B.