It really depends on your requirements. Over the years XMPP has been extended from being just a simple user messaging protocol to becoming many things for many people. Remember that the protocol has been designed such that it really doesn’t care about the nature of its payload. A few use-cases where the XMPP protocol could be, or is already being used.
- Messaging. This is the plain vanilla case of the protocol, of course. But then messaging itself as a domain has evolved tremendously over the years. Think how you could add your own layer of functionality, a differentiator possibly, that will make your XMPP-enabled product stand out. I would recommend that you have a look at both Flock and Slack. These two products have very nicely evolved the whole idea of chat as a basic communication primitive into a making it a core business function. In fact, both products seek to become viable alternatives to email to a very large extent (not entirely, though).
- Presence & Notification. Remember that XMPP does not just have messaging in it, but also presence. Presence is nothing but information about the availability of a user as s/he becomes available or unavailable. But then, presence need not be restricted solely to humans. How about devices? How about using it to power smart homes? It could also be used for interacting with remote systems. The possibilities are endless.
- Group Messaging. This is another area that is quite distinct from one-on-one user chats. Group messaging is another major growth area for messaging especially for collaboration, something very similar to IRC.
- VOIP. Google extended the protocol with its jingle extension, so that the same protocol can now be used for voice chats.
- Location-based Systems. As mentioned earlier, XMPP does not bother about the payload. So how about carrying geolocation data of a mobile user, perhaps? Or even for tracking mobile assets like trucks and inventory?
- Business Workflows. There is an extension for this too, so that you can design entire workflows around XMPP. The extension as a standard supports all well-known business actions required for management and execution of a workflow, like interactions between two business users, or even between a user and an automated business sub-process, and so on.
I have listed only a few of the use cases for XMPP off the top of my head. I am sure other answers here will highlight even more.