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