I don't want to have my own IP, at least not without frequent changes. My servers should have static IPs but having static IPs at home or for mobile devices only makes tracking easier..
Mostly because we've invested huge amounts of engineering effort to work around the problems. The result is that for the most common use cases, things mostly work.
NAT systems are optimized for a few devices to be active at a time. As the number grows they might not co-operate well. Game consoles are infamous for networking problems when you have anything other than a single machine.
And the Wifi router is at least under my control (although depending on where you live and which ISP you use even that isn't necessarily true), so I can still set up some port forwarding for my internal devices as required. Because of the shortage of IPv4 addresses however carrier-grade NAT is becoming more and more common, which is truly an abomination.