Users want centralized services. Syncing across devices and shared history are mandatory features, and are basically impossible to do well in distributed models.
I have never lost a matrix message (but I am fed up with e2e warning and new session weird insecure messages) but I have come to the conclusion than Signal isn't reliable since it sometimes lose messages. It's no-no.
Yeah the e2e is way too complex in matrix. They really need to work on the UX and make it more like WA and Signal. The way it is now even a crypto geek like me gets annoyed and that means the mainstream will never touch it.