Ask 100 security professionals whether black ice is any good, and you will get 50 saying it is and 50 saying it sucks. ZA is fine for many people, and its free, although the pro version is better. Tiny Personal Firewall is great, I use it on Windows machines I use (dont currently own any

). I like it better because I can configure it the way I want to.
Hardware firewalls are fine, as long as you dont need ultimate configuration ability. A Linux machine with IPTables or OpenBSD with PF would be my first choice because of the customizability and ease of use/administration.