I hosted Matrix for several years. It mostly works fine, apps look consistent, bridges are nice, but is a pain in the ass in some aspects. Onboarding sucks. Data needs constant cleanup (or gigabytes of storage, even for a dozen users). Sometimes notifications are delayed hours. Sometimes images don’t load.
New Element Server Suite is more corporate-oriented, requires Kubernetes (!) to run, includes defacto mandatory services. Element X has no feature parity with Element Classic, especially calls.
I ran Snikket many years ago for a few months. But now they have smooth invites/onboarding, admin panel, and always had reliable notifications. Even bridges through Slidge. I plan to switch back to Snikket soon.



IMO the main advantage that Matrix-Element has for normal users is the branding: Element is Element on the web, Android and iOS. (Snikket is trying to do the same for XMPP though)
Agreed. Simple user+password login to a hosted (non-matrixdotorg) server takes 5-6 pages to click through.
I was spammed with racist copypasta on XMPP once too. But being in large Matrix chats guarantees being invited/messaged.
Replication+sync is a strange decision for chats. It sort of makes sense for slower fediverse posts, but creates a lot of strange scenarios and privacy issues with chats. Also, matrixdotorg is used for key backups and vectordotim is used for integrations IIRC.