I don't know that it was ever "over complicated and hard to implement" (see my response to the thing you're quoting above, I think), at least, not any more so than any protocol, but I'm still not really sure what the specific complaints are when people mention this, maybe you could elaborate on what's hard to implement? Most people just grab an XMPP library and go, you don't normally have to implement XMPP itself to make a client (just like you don't implement HTTP when you want to make a request, you go snag a library that does this for you).