I've run an XMPP server for a small online user group for about 7 years. It was relatively simple to get a basic server up and running.
One challenge came when my wife and I decided to use it as our everyday mobile messaging service. I had to learn about and configure a number of extensions to get Prosody working well with Conversations (Android) and Monal (iOS).
Another challenge was filtering spam. I posted my administrator XMPP address online and got hammered with spam. It took a while to figure out how to effectively combat it.
With respect to why it's not more popular, imagine if you were trying to sell people on email (with no business use-case). It's a generic federated protocol. I don't know if you can get much more bland.