Good way to not go crazy is to see protocols as how they send data first, then what can be build.
ActivityPub is most simple, works like a two-way RSS for servers to pull posts from each other.
XMPP is like TCP with navigation, with many extentions.
Matrix is a way to store and modify decentralized data in an abstract thing called "room" that it's members can access.
Of course this is only simplification.