I think Facebook and Google's embrace-extend-extinguish (both fb messenger/chat and gtalk used xmpp - neither allowed federation - and created artificial silos) was probably the worst thing for open standard chat.
Gmail isn't quite big enough to have been able to fracture email yet - but not for lack of trying (years of poor imap support, strange handling of threads/top-posting etc).
The biggest problem with XMPP, is that it's really confusing and has a steep learning curve. The barrier for someone to get into XMPP as a developer is quite high, unfortunately. There are libraries like Smack that makes it a lot easier to use, but to understand it... that's something entirely different.
The abundance of XEP's doesn't help, and like you mentioned, everyone implements their own XEP based on their interpretations - right or wrong.
There's also a lot of peculiarities with XMPP that aren't expected in a modern world, such as offline messaging and multi-device messaging (receiving messages on both your phone and desktop simultaneously). XMPP was never intended to support these things. Some servers will attempt to imitate these features, but it's always a hack and works with varying degrees of reliability.
With all that said - we drove an XMPP Server (Openfire) and clients within our company for well over a decade. For that use - it's amazing.