The best is to use what your friends use. In some countries Yahoo got popular, in others MSN / Live messenger is more used.
Yahoo and MSN Live messenger are semi-compatible, you can send messages to people using other one, but cannot send files, call or webcam. No problem for me.
Both are overloaded with games and “fun” features, such as BUZZ and auditibles, that are annoying and disturbing.
Google Talk is the worst in terms of features, lacking necessary features: AFK time to set the idle status (it is pre-configured at 5 min), lack of organizing the friends list using groups, lack of video chat, but being simple, it have none or very few bugs.
It is suitable for serious people like me. But too few of my real-life friends are using it.
I have MSN aka Live Messenger account, it is comparable with Yahoo in terms of features, but I do not used it enough to make a detailed review. MSN do not disconnect you if you are connected from multiple places, I am not sure if this good or bad feature, do you?
I never want to use Skype because it is based on voice call. You can text on it, but it lacks normal messenger features, can’t leave offline messages, etc.
Yahoo Messenger is fully loaded with bugs and vulnerabilities. Since ~feb 2012 if I send a file or a message containing www or http to a friend, some times he do not receive them, but I receive if he send same thing. Next days is my turn to not receive such things from same person. In any given day the bug happen randomly just with certain friends.
Since 2008 or 2009 appeared detectors of Yahoo invisible status, I asked my foreign friends if they know any MSN invisible detector, but soon I realized that detectors are in fact a Yahoo vulnerability, the detector sends you a script and your stupid messenger client return your status to the detector. The admins of such websites collect hundred IDs per day and can sell them for several $ to spammers. No wonder why I receive 50 SPAM emails every day.
Yahoo Mail sucks too, I have no idea how the SPAM guard works but while exchanging emails with someone, got several of them in SPAM and the rest in Inbox, despite that I did not touched the Report as spam / No spam buttons. I constantly get enquirers or service request from website visitors, I reply to every email, but in a period less than 25% replied back, most likely because my emails goes to their SPAM folder and they check only Inbox.
The single reason for which I kept using this fucking Yahoo Messenger is that in my country nobody use MSN, however due to this website I got a number of foreign friends, some of them using MSN, but I keep talking with them from my Yahoo. Beside this I use Gtalk, but I have very few friends in it.