The beauty of XMPP is this: you can use any server, and any client, and you can talk to anyone connected to the larger XMPP network, even if they made different server/client choices than you did.
That’s a very optimistic and naive view. XMPP consists of a shit ton of extensions, and different clients implement different subsets of these. So it’s very possible that two different clients fail to do an audio or video call, because the other decided to use a different extension than the other for not implement it at all.
Sure. I also don’t want to shit talk XMPP. I prefer XMPP over Matrix any day. But it can be tricky (just like Matrix; which is funny, since Matrix set out to improve on the mistakes they claimed XMPP made).