It is self-hostable, and provides a modern baseline of features (though Riot is the only fully-featured client at the moment).
Burying myself in a walled garden is a no-go, so it has been working pretty well for me so far. I only regret the fact that the reference server implementation consumes a lot of resources, but it should be coming down [1][2] (the current state stems from the proof-of-concept python implementation having grown unchecked over the years), with alternative implementations hopefully becoming viable soon[3].
[0]: https://matrix.org/docs/projects/clients-matrix
[1]: https://github.com/orgs/matrix-org/projects/9
https://https://web.archive.org/web/20180711050333/https://m... (Why they removed this, and many of the other entries, from their FAQ? Who knows.)
https://secushare.org/comparison
…nor a fan of Federation in general:
https://about.psyc.eu/Federation
https://secushare.org/federation
Of course, the perceived need for federation only arises in the first place because the 'Inter'net doesn't actually deserve the name "Internet"—it's just three bead on a string telco networks in a Trenchcoat held together by thought-terminating clichés, of which you'll find plenty over here (and I don't exclude my comment there from that description):
https://news.ycombinator.com/item?id=19864808
And a beads on a string model kinda forces one to enduldge otherwise mostly unnecessary middlemen.
Grrrrrrrr.