A long, but interesting personal reflection on the virtues of IRC in the age of centralized services such as Discord:
Much as the dreaded Reddit has largely paved a fascist monopoly over the niche once occupied by a bounty of independent Web forums, Discord has done the same with the chat world, replacing the sea of independent and free IRC servers with a single corporate walled garden whose owners each user must avoid offending in any way, lest they be entirely cast out of the public square.
Anyone who has ever used IRC knows that there is nothing even remotely complicated about using it, but the terminology and the steps required to use one are ostensibly terrifying enough to reliably keep the technically illiterate at bay.
I think XMPP is a much more complex protocol... particularly compared to IRC. Because of this, find good XMPP clients, particularly terminal or CLI ones is hard (nothing close to weechat anyway).
Likewise, from my experience, XMPP has mostly been used for direct or individual messaging and not for group chats like IRC has. I understand that it can be used for group chats (I was in one for a while), but there are many more well known IRC channels than there are XMPP group chats.
There's also a newer federated chat (plus VoIP signalling) protocol called Matrix that's worth a look.
One feature that sets it apart from XMPP is its support for multi-client synchronization: if you log into the same user account from multiple clients (e.g. where one of them is a desktop app and another one is a smartphone app), your chat history will be synchronized across them. Or as one of the Matrix developers put it: "XMPP is all about message passing, whereas Matrix is all about state synchronisation".
On the downside, though: although the Matrix protocol is designed to support presence-status, it seems that many (?) of the public Matrix homeservers have that feature disabled for performance reasons.
I really enjoyed the way Matrix works, but I stopped using it a few years back because the community was way too thin. I might give it another go.