IPv6 was way overengineered. They made it far more difficult than it needed to be, and as a result, very few are bothering to implement it at all.
As stated, articles come out every year that say we'll run out in a year's time, and guess what? We still haven't run out. CIDR and NAT have solved a lot of those problems. IPv6 has been around a LONG time. I'm of the opinion that we skip it and move to IPv8, which can be designed much more simply than IPv6: add four more octets and keep everything else the same. Yeah, we lose anycast and a host of other worthless features, but so what?