Facebook messenger has terrible Internet connection. It frequently fails to send out messages, and pops up notifications of failed trials in delivering messages. To make matter worse, Facebook messenger does not automatically attempt to send out stalled messages once the signal gets better, and the user need to manually initiate retries on the same message again and again. I have had the experience of repeating the process for more than ten times for a single message. I think Facebook messenger should really try to build this functionality into the app itself.
Google Talk does send messages automatically once the Internet connection gets better; but it lacks an important function of being able to copy messages sent and received. This function is useful when the recipient does not see a message you sent previously (for a variety of reasons) and you need to send the message again. It is much easier to just copy and paste the message instead of to type up the exact same message once more, especially when the message is long. Copying messages also becomes useful when there are important information contained in the message you received and you'd like to copy it to some other program (e.g. a GPS address). In comparison, Facebook messenger does allow you to touch and hold on a message to copy it to clipboard. Less importantly, the Google Talk app on Android has a plain and dull interface compared to the new Facebook messenger app, which looks more modern and friendly. The twin sister of Google Talk, Google+ messenger, basically does the exact same thing as Google Talk.
The other app I've tried is WhatApp. It has more functionality in general. It allows you to copy messages easily, and delivers stalled messages whenever the Internet gets connected. It even shows whether a message has been delivered to the server or received on your friend's device. The user interface looks nicer than Google Talk as well. The main disadvantage is that it does not have a phone-computer integration, i.e., I cannot continue a conversation started on the phone using a computer program, or vice versa. This is extremely useful when you started the conversation while outside, and now you have got home and can type much faster and easier on your computer keyboard.
To sum, there is not yet a mainstream instant messenger app that satisfies all the needs I've discussed above. I know that there are probably third-party messenger apps on Android that has everything here, but for a variety of reason (not the least of which are security and trustworthiness), I'd rather have these functions on an app that's been tested and used by a wide user base.