This is very heavily biased. Many of the points "against matrix" aren't very well elaborated on or plainly wrong or outdated, such as the one stating that you can't viably run your own node. There's many things happening at the moment to make that easier, as well as a push to move off server nodes into p2p "device nodes" that contain your user data.

Matrix' federation isn't weak, Matrix.org just hosts the biggest node. If Matrix.org would disappear today, all that would be lost is users and chat for people on that node, the rest of the network would continue working as usual. A few friends of mine and me all host our own nodes, so we wouldn't even notice it, basically.

XMPP doesn't have this as all the big implementations are proprietary and incompatible.

It took me an afternoon to get a Matrix server running. There's a PPA for it, it's in the Arch community repo... I don't know how much easier it could get.

There's also https://github.com/spantaleev/matrix-docker-ansible-deploy which can basically set up an entire matrix "ecosystem" including telephony, bridges and bots with one command and some basic configuration.