Using XML instead of binary or other formats has many benefits, like extensibility and ease of understanding. Because XML is a markup language, new developers can jump into the existing message protocol quickly and easily build upon it. Compared to the unreadable, binary approach that most IM messages take, this is a welcome advancement. Through XML, the Jabber protocol is expandable easily and, at the same time, it's always backward-compatible. New features can be added easily without crippling applications that haven't implemented them.
Clients can send rich text now, without causing problems for any existing clients or servers.
Anyone, including any third-party developer or company, can add his or her own custom XML data to be transferred through the stream. Clients that understand the data will benefit from it while regular Jabber clients will simply ignore it. First, the Jabber client must connect to the server. The server responds, and then further communication can ensue at the client's choosing. If the stream needs to be disconnected at any point, the client or server simply ends the stream element.