I personally use a desktop firewall (outpost) because it gives me application control, rather than just intrusion protection, for example, it'l alert me to applications doing stuff in the background sending out DNS requests etc. It also informs you what netbased applications are running, what ports are open, and when there are incoming pings / attacks.
You don't get any of this with Microsoft Firewall, it usually just blocks most things, including things you want inless you add an exception
I also don't rely on firewalls in my router, because to view what that's up to, you have to log onto the router itself & see what it's doing, which just takes a bit more time. I'd rather my main firewall just monitored everything and let my router just transmit traffic to and from my ISP, nothing else.
I've recommended AVG and others to so many people, as they're so easy to use, good on resourses and they work. I've never had any complaints!