I would have to agree with the Comodo comment -- their Free firewall is excellent ... for geek types.
I switched from ZoneAlarm Free some time ago and really like Comodo. Comodo also uses less resources than ZoneAlarm.
However, for the "average" (i.e., non-technical) User, ZoneAlarm is fine and probably a little easier.
Also for a "hardware" Firewall, I highly recommend pfsense, which is based on m0n0wall -- it is very impressive.