From what i remember - Rocketchat was based on meteor, which seemed dying at the time + it was computing hungry and clients were especially hungry. - Mattermost worked for a time but you were not able to get mobile notifications without paying for license (not sure about now). Sounds suprising but it was just problem. - Zullip too many dependencies and complicated install.
Matrix is more of a standard than anything. The first server implementation is called Matrix Synapse written in python twisted. I had it running without issues on 512mb vps for 30 people org with SQLITE. When you need bigger scale Matrix has some go and rust server implementations, you can also use postgres etc.
I guess you should start with what scale you need and what features you need and go from there.
It's basically hosted Slack-using-riotchat/matrix.
Very cheap too. Most of the other open source providers (incl Zulip and Mattermost) almost cost the same as slack.
Only Synapse is usable though. Dendrite (Go+Kafka) is getting there, but Ruma (Rust) seems to have been stalled waiting for the programming language to stabilize.
Sorry for incomplete info.