XMPP protocol is so open, that different implementations offer so distinct features, so the lowest common denominator barely includes sending messages to each other.
But indeed, XMPP is open, very open.
And indeed the major clients usually rely on the old era's ways of thinking messaging... They a far from contemporary, not only talking of features, but also the UX (User eXperience) and the general philosophy.
I would recommend the reading of XEP-0387: XMPP Compliance Suites 2017 (and its successors): https://xmpp.org/extensions/xep-0387.html
But I insist, this one is quite good, honestly: https://www.erlang-solutions.com/blog/21-xmpp-use-cases-and-...