Matrix's federation is no worse than any other popular federated system I've used (eg. email and xmpp). I'm not saying it shouldn't be better (I dislike the matrix.org centralization, too), but that's not something inherent to Matrix, and I think it's not honest to bring it up as 'fake federation' in this context.
Additionally, Matrix is significantly better at this in one way than the alternatives: even if matrix.org goes down, all rooms can continue working, even ones with a :matrix.org label. The same can't be said about XMPP MUC, IIUC.
I do think that federated systems tend to become centralized, because the federating links tend to be unreliable. I think people confuse federation and decentralization, when they're very different things.