XMPP means Extensible Messaging and Presence Protocol and is often called by it's nickname Jabber.
The extensibility of the ecosystem means that there's a great flexibility in what you need to implement in a server or a client and you can create multiple efficient messaging protocols on top of the XMPP base. The extensions are bundled in so-called XEPs.
OMEMO is the current "standard" for good encryption in Jabber. There's also PGP and OTP, but you usually don't want to use them.