I work on Riot.im but can try to give a balanced & unbiased answer:

Pros:

* Riot is all open source and built on the Matrix open standard for decentralised comms, so you can run your own server if you want (which is about as painful as running & maintaining your own mailserver, although it's getting better - especially with Synapse 0.27 being released tomorrow. It is a bit of a resource hog still, but we had a potential breakthrough on that last week which could reduce memory usage by 5x or so - it'll be a few weeks before it lands though). If you don't want to run your own server, we're also working on providing dedicated hosted servers in the coming months.

* We're just about to release Riot/Web 0.14 this week (first major release in a few months), which adds the ability to rapidly filter your rooms by community - a bit like Slack workspaces or Discord servers. It also has lots of performance work which reduces RAM use by 30-40% and speeds things up by about the same. It also fixes several major classes of bugs which meant that the keys weren't available in end-to-end encrypted rooms to decrypt messages (e.g. switching from localstorage to indexeddb for crypto data, avoiding situations where localstorage could get corrupted by multiple tabs accessing it simultaneously...)

* Android & iOS are entirely native apps, built on matrix-android-sdk & matrix-ios-kit/matrix-ios-sdk respectively, which means they often have a better native experience than using React Native or similar.

* We have lots of nice features (perhaps too many), like animated read receipts, read markers, Jitsi video conferencing, end-to-end encryption, the Modular appstore of integrations/widgets/bots/bridges, etc. However, we don't have message editing, threading or emoji reactions yet :(

* The Matrix community is (i hope) generally supportive and helpful for newbies :)

Cons:

* UI/UX on Riot in general is still quite geeky and poweruser-centric. We contracted a UX/UI designer a few weeks ago who is already coming up with some really nice stuff which frankly looks more attractive and usable than Slack/Discord/etc. But this won't land for a few months yet, as it's effectively a total rework of the app's look & feel.

* It's easy to end up in lots of Matrix rooms. I'm in 1,600 atm on my main account, and this can slow down clients - Android is particularly slow to launch. Most of the time is spent dealing with room members though - e.g. my account can see 214,199 right now. We're currently working on a solution to lazy-load room members, which should speed everything up by somewhere between 5x and 20x depending on your account size (https://docs.google.com/document/d/11yn-mAkYll10RJpN0mkYEVqr...).

* E2E encryption in a decentralised network is hard. We've been steadily working through classes of bugs where you can't decrypt messages because keys are not available, but there are probably still some edge cases where you may end up with a message but not have the keys to decrypt it. Riot/Web 0.14 adds a panic button for this situation which re-requests the keys, but it's still not perfect. That said, these errors are quite unusual these days and tend to only happen in larger rooms with lots of new devices, rather than typical encrypted 1:1 chats.

* Key management UX for E2E encryption is a particular problem - device verification UX is still a train-wreck, and we need to implement cross-signing devices so you don't have to keep manually verifying new devices. We also are working on giving the option to back up your E2E keys (encrypted) serverside if desired. Lots of preparatory work has been done on this, but it hasn't landed yet.

* Riot/Desktop is an electron app, which some folks don't like for efficiency reasons. However, there's an increasingly mature set of alternative Matrix clients for the Desktop: nheko (Qt5/C++), Fractal (GTK3+/Rust), Quaternion (Qt5+QML/C++), WeeChat etc which are very usable. I've been using all of them recently whenever my Riot/Web is stuck doing a heap dump...

* Finally, Matrix doesn't currently protect metadata - your server admins can see who you talk to and when (but not what you say, assuming the room is encrypted). This is a similar level of protection to email+PGP. So you make sure you trust whoever's running your server :)

So, TL;DR: Maybe? Hopefully? It's certainly worth a shot, especially if your friends are fairly geeky or prepared to be patient with some quirks. We're not yet a drop-in replacement for FB Messenger or WhatsApp or Slack, but we're trying as hard as we can, and we're improving rapidly enough that even if there are stumbling blocks today, there should be very noticeable improvements in the coming months.