The difference between "has a routable IP" and "this should be routed" is exactly the problem for 99% of the population.
I'm not saying NAT is a good thing but at least it's one more thing from preventing network shares of everyone's pictures on shodan. I'm also not saying it's a good protection, but it's not zero.
Maybe if ipv6 had been the default since the beginning, then OSes and default configs would have been written in a better way.
I really don't see why we wouldn't end up in a world where home routers had a firewall by default and the user (or their agents) would open up ports as necessary.
Still like NAT, but better.