Ant,
As a hardware firewall will stop the traffic before it gets to your computer it should protect against any inbound attacks, no matter what operating system or security holes there are. The software firewalls, with the exception of Windows XP's built-in firewall, will stop any viruses or other malicious programs from getting out. To be as secure as possible you should have both. Most low end hardware routers have a built-in firewall, and will also allow you to share your internet connection, should you so desire.
goates