How are they made?
Language and framework make a long-term difference.
With the correct language and framework under the hood, new features can be added when the other projects add support. Having a code base that clearly has high activity ensures an interesting future for a project. It also shows you on which devices you can use it. You may prefer an application that looks the same on all devices, but with the wrong code base, this is unlikely to happen.
In this regard, Element sticks out because there are several clients for many platforms. Written mostly in TypeScript and JavaScript, Element easily converts to different platforms. The web page offers clients for Android, iOS and web. Obviously, there is also a Linux desktop client available.
The Mirage client, however, comes only as an AppImage and a Flatpak, which are excellent for Linux purposes, of course. Being built with Qml and Python, it may take a little more work to port it to Android.
Despite being written primarily in JavaScript, Cinny only has a web app and a desktop client. This still means that using it on a smartphone should be easy. You can even add it using Chrome or with specialised apps such as Hermit. Because Fractal uses the Gnome environment, it suits Gnome users well, but if you want to spread your wings, there may be a problem – unless you have a Linux phone.
NeoChat is likewise built using KDE in particular, which is difficult to support outside a regular desktop environment. With that said, it works perfectly fine on a Gnome desktop.
The choice of application also applies if you want to help the project, so pick carefully if that applies to you.