It's a failure
Yes, it is. Its been around for 30 years and still hasn't displaced IPv4 in a meaningful way.
My thoughts as to why (as someone who has implemented, and now rolled back, a fully IPv6 capable network):
* Its an over-complicated mess. Much like ISO networking, there are so many options and parameters and features that implementations differ, and are hence incompatible.
* It was pushed too hard. Making IPv6 the default, before it was fully available, made things not work. Disabling IPv6 made things work, with a mental note to "turn off IPv6" that has persisted.
* Zeroconf/autoconf/link-local addressing. What's the point? So you can have a working IPv6 subnet with no "configuration". But as soon as you need to talk to the outside world (i.e. anything on a different subnet, even within your organisation) you need a global address, so you need configuration.
* A huge part of the IPv6 address is wasted for autoconf to work (8 of the 16 bytes), with nebulous justifications like it maks scanning for valid addresses impossible and allows randomisation. Newsflash, as soon as an IPv6 node talks, it "broadcasts its IP address", so that bit of security-by-obscurity doesn't last long.
* If it's implemented properly, there are only 65536 * [IPv4 address space] prefixes, which is what ISPs should be handing out. With this "few" prefixes available, it doesn't live up to the "more than everyone in the universe will ever need" tagline. What has happened is that ISPs only have so many prefixes to offer, so split them up, giving customers less than a /48 and breaking the protocol. Understandable, as nobody needs 2^80 IP addresses to themselves (which is what a single prefix gives you). But that's the design...
* NAT. Ok, so I sign up and get a /48 prefix to myself/company. I configure global IPv6 addresses on all systems using that prefix. Then I fall out with my ISP and have to renumber everything. IPv6 NAT was actively discouraged at the start, as once you take the NAT pill you quickly realise you can live without IPv6 for much longer...
* Corporate politics. Just as things were starting to come together, the final straw for me with IPv6 was a split in the internet in IPv6 land, caused by peering issues with the big providers. Once again, turning IPv6 off made things work. I won't be turning it back on again.
There are a few places where IPv6 makes sense, like huge mobile IP providers whose endpoints are really on a private network, as it's simpler than IPv4 NAT at that scale, but as the default Internet Protocol - nope.