A hardware firewall is better then all software firewalls.

Hardware meaning dedicated device external to the system being protected.
However, that is just another layer of security as well as others available. Firewall has been ran through the generic word definition a bunch, but I will try and separate things out a bit.
All firewalls should do the same task just as well as all others: block all external packets not specifically requested from getting through. In that respect, they are all pretty much the same.
Many have application filters (which is not a firewall) that allow particular programs access "out" or stateful packet inspection to drop "bad" packets.
If you are looking at more or different features, then that could get really in depth.