I have used XMPP for some time now and I tried Matrix for a bit, but have stuck with XMPP until now.
I found it practically very easy to set up a prosody XMPP server in a raspberry pi. In XMPP you have the core standard that is kept quite minimal and then you can extended your implementation using XMPP extension protocols (XEPs) in a highly modular fashion. This approach of building on top of a light core using well-documented extensions I like very much.
With Matrix, JSON is used instead of XML. I think that JSON is a nice format when trying to look under the hood at how the message data is structured. XML is a bit of a pain to look at in my opinion. And I think JSON might be more efficient in how it moves the data around. So, that is a big positive for me. But I Matrix appears to be more focused on being feature rich than on having a flexible modular structure. While it does have extensions, successful extensions do have a chance of being eventually integrated into the core protocol. This makes the core feel bloated to me, because I have very minimal requirements.
In terms of security, in XMPP you start with the core and then you select the type of encryption that you like (OpenPGP, OMEMO, etc). OMEMO encryption has plausible deniability built into its design, and for me, plausible deniability is a property that I consider important for messaging. The modular approach to XMPP also means that these are choices that one gets to make in an active manner, and the protocols are open protocols that come from outside of XMPP. With Matrix you get their encryption protocol as part of the core - it is a protocol that they designed and that you need to accept to use their tool with encryption. It is probably a good protocol, but I don’t think it has plausible deniability built in, and that’s a choice you did not get to make.
As for moderation, I don’t know. Do they mean moderation tools, or the actual absence of moderators and unmoderated communities? Because the latter is more a property of the people using the tool that the tool itself. You can have your own private communities.
If someone asks me, I could recommend Matrix but would rather recommend XMPP, depending on what they are looking for specifically.
I am privacy conscious and care about privacy even though I don’t care too much about my own personal privacy just for privacy’s sake.
Privacy advocacy runs deeper than just protecting your own data. Convincing someone to care about “their privacy” is more straightforward when they face a real threat. For example, a journalist in Mexico writing about a politician linked to organized crime has every reason to avoid being easily tracked. That person is not going to post their location on Facebook.
But most people aren’t under direct threat. If you read my texts, you’ll find casual conversations with family and dinner plans. I’m not afraid of someone showing up at my door, so I’m fine sharing my address to get a package delivered. Getting ads is a minor annoyance.
Still, I care about privacy. Not necessarily mine, but privacy as a principle. I care about what surveillance capitalism does to society. Even if my personal threat model is easy, I want tools and systems to exist for people with harder ones. Privacy is part of the kind of world I think we should live in, and its erosion usually points to larger structural problems.
So back to the question. It’s easier to convince someone to care about privacy if they feel directly threatened. But if they don’t, you need something else to make them give up convenience in the name of privacy. That something is ideology. You’re asking how to shift someone’s ideological framework. That’s hard, and not something you can do for them. You can recommend good material, share your reasoning, explain what led you to care. But they have to engage with the ideas themselves. Like with exercise, you can’t build someone’s muscles for them. You can’t implant the ideology, but you can create the conditions for it to take root.