Jami is more or less completely peer-to-peer. Other than initial bootstrapping all conversations are synced between participant devices without any central servers. I don't know much about Session, but Matrix requires a homeserver that is basically always running to operate which provides a single point of failure for any particular user (as opposed to Jami where each of a user's devices can sync independently) and is easier to use (you don't need to find and pick a homeserver, all you need is your device).
Jami has also been around a long time. It had other names in the past like SFLphone and Ring.