I use skype to chat a lot. What i like about them is that they are persistent. If I'm not online, I won't miss any messages. I also like the fact that I have command line style utilities. And on top of that group chat are very practical.
I use skype out of a habit I caught at my previous job, where most of the communication was done via skype chats - so most of my recently active network is available on skype. Once in a while skype chats don't get through because skype's infrastructure thinks you are not online or that your correspondent is offline. This is annoying because once in a while you are online and miss messages.
To make sure that your message will get through is to call ! this will force skype's infrastructure to figure out if the person you are chatting with is online or offline as voice can't really be buffered or delayed, while messages can. So just pressing the call button will push your messages through.