Zone alarm for individual pc's
a linux/bsd box using iptables or ipchains for firewalling if you want to protect the whole network (my personal choice)
As far as to why, thats up to you to research, I've already done teh work for myself, I'm just pointing you in good directions
