The problem is people won't build their own firewall.
Even experienced users can forget - I did. A good firewall should deny everything and stay hidden away, so it's quite possible when you build a new system that you'll just assume everything is locked up. I remember building a slackware or similar system sometime in the mid-late 90s, and forgot to setup the firewall. It got a worm within about 10 minutes of being hooked up to the internet, or possibly something nasty was on the local network.
The gufw function of knowing which ports are required by apps (I guess they maintain a database) is extremely cool and user-friendly. The distro should perhaps come with everything initially locked down, and generate a message that prompts the user to go and look at their firewall setup, the first time any transgressions are attempted - ie the first time you run a p2p app or whatever. Maybe web-browsing should be pre-configured, as that's so essential.