I know that IPv6 was created in 1998 as a future-proofing, to make sure that there will be enough IP addresses in the works for large networks. IPv4 uses 32 bits and is represented with denary (0-9) while IPv6 uses 128 bits, so there are far more possible addresses, and it is represented using hexadecimal (0-9 then A-F).
What I’m wondering is why IPv4 is still so common, even though the number of devices connected to the internet have skyrocketed with more computers, laptops, smartphones, game consoles, embedded systems, etc. all connected! If it was thought that there would be too few available addresses in 1998, surely that has to be a bigger problem in the modern day?
Additionally, why didn’t IPv6 replace v4, even after nearly three decades of existing? Is it a technological limitation, cost, or something else?
And online I see many sysadmins online (!) complaining about IPv6 being more difficult to work with. Is this because the addresses are harder to remember, are adaptations of the protocol by manufacturers all different (similar to USB-C), or is there some other problem with IPv6? Or is this a case of a loud angry minority, especially in chat forums where people tend to have more polarised views?
Many devices do support IPv6, but it’s not universal like IPv4, despite the standard existing since 1998 and having many advantages. Why is this?


There are a number of points:
If you build a networking devices, you have to have IPV4. You may or better should have IPV6, too, but without IPV4, you’ll have a bad start.
If you build an embedded system, like an “internet of things” sensor or actor, memory is at premium, so having to take care of a small and a large IP stack might be challenging.
Some systems are old that their software libraries don’t even offer an IPV6 option.
My current project uses IPV4 only, because I don’t need anything fancy. I just span a 10/8 network with 10.0.0.1 being the server. No routing, not even DNS. Using IPV6 for that application would be wasted.