From a naive end-user perspective, NAT provides a de-facto firewall and "solves" the issue of opening ports. Little do people realize how much of a pain in the ass UDP hole-punching is (not to mention how much latency it produces) and how much UPnP announcement spam floods their network.