Maybe it's changed, but I remember trying to communicate w/ IRC servers via telnet (prior to netcat) a while ago (maybe 8 years) and I do recall that most of them have deviated from the 'official' spec (specifically the initial connection handshake). I actually had a chat about this with the epic4 devs at the time.
At least XMPP has an official spec. My impression of the IRC world is that it's a de-facto standard. Though there are many implementations that one can clean the details from, cracking open irssi-core to figure out what the protocol is seems a little more difficult than reading an RFC and dealing w/ XML (it's not like we don't have tools built around XML; I would lean heavily on XPath).
as a result, despite the awesome features of XMPP, IRC is simply more extentable and easy to develop around- whilst also being basic to implement.