Ultimately, IPv4 just cannot handle the demands of the modern Internet, the emergence of IoT (that being a good or bad thing is another matter), etc. The world needs to move on to IPv6.
Actually the problem is less for "the modern Internet" because that has transformed from a peer-to-peer network into a client-server network where most of the users are only connecting to a couple of services, and the presence of NAT is less of a problem.
When IPv6 was designed, the designers still believed that every device should be able to communicate with every other device. A peer-to-peer network. That was already frowned upon at the time. Why would my refrigerator need to talk to yours? But as the problem if malvolent users (usually called "hackers" in the press, although that word originally has a different meaning) is becoming more and more prevalent, firewalls have been deployed everywhere and such communication is not possible anyway.
Now, when ISPs deploy IPv6 for their customers, the routers they provide are by default configured with a stateful firewall that allows only outgoing connections and possibly has capability to "open" communication to some specific device/port. This is roughly the same as an IPv4 router with NAT and port forwarding.
So, while some expansion of the address space is desirable due to the increasing number of users, it certainly is not as critical as the IPv6 proponents claim. (that also explains why the deployment of IPv6 has been such a fiasco)
Rob