1. More complicated protocols. iMessage and Skype are many times more complicated than AIM/ICQ, MSN or YIM, with lots of layers of custom encryption and authentication. Reverse engineering of these protocols has never been close to done. 2. Battery usage. Each new account you add is (likely) another connection that you have to keep open. With one connection you can apply optimizations like the server bundling packets, but you can not do that when you need to keep connections to many different services.
And the protocol flowchart for Lync is complicated as all hell, even with SIP at the core. (More complicated than SIP usually is.)
I wonder if Skype itself falls under MS's legal obligations to publish protocol descriptions.
Trust is also a difficult problem with transports, as they often need to store your passwords in plain. A single server storing your Facebook, Google, Twitter and Microsoft passwords just does not sound like a great idea to me.
Given the profusion of services, and the resulting difficulty of managing a separate account on each if you want to maximize your connectivity, I'm surprised there isn't more interest in unified chat clients. Third party Pidgin plugins exist for some of those services, but I've never personally heard anyone mention actually using them, and availability is even more barren on mobile - my barometer might be off, but I feel like everyone has just forgotten about the possibility of interoperability. Then again, maybe it's just a question of the right person writing a new client designed for mobile and modern messaging, and that client taking off...