@drq XMPP isn't all that homogenous - the core protocol may be the same for everyone, but different servers implement different sets of extensions, and then there are components like MUC, gateways to other protocols, HTTP upload, videobridges, etc., each of which does something different, and different implementations of each of those vary noticeably too.
There is also some variety across clients. Not as much as in case of Fedi - AFAIK Movim is the only one which tried doing a non-IM UI.
@wolf480pl For XMPP, trying to get heterogenous is more of a hinderance, because it's not explicit and just introduces mess without any real benefits. XMPP is better when everyoune is on the same page as to what extensions we support and what we don't, which client we use, which supports the extensions we use, etc.