Speaking as project lead for Matrix: Matrix is not an attempt to reinvent XMPP, plus we had extensive XMPP experience before creating Matrix (running 10M+ user ejabberd deployments; writing XMPP clients based on Smack, XMPP.Framework and Strophe.js; writing our own ejabberd modules for things like push notifications and persistent chat history, etc).
Instead, Matrix is an entirely different architecture with different tradeoffs which you may or may not agree with.
The main differentiators are:
* It's a protocol for replicating conversation history; not for passing messages.
* You get eventually consistent conversation history, as well as decentralised key-value store for metadata about the room.
* Rooms are entirely decentralised over the participating servers; there are no single points of failure/control in a room.
* It automatically heals after network partitions
* It's a single monolithic spec
* E2EE is on by default.
If anything, Matrix is more like NNTP than XMPP.
Now, you're welcome to dislike Matrix and build on XMPP (or SMTP or NNTP or SIP or MSRP or IRC or whatever other messaging protocol floats your boat) instead, but it's completely and utterly wrong to claim that Matrix is just a reinvention of XMPP by people who don't understand XMPP, or a marketing gimmick.