Google's Android app has much better performance than Facebook's. (Particularly in terms of battery life. Not sure about iOS.)
IRC and XMPP are both a pain to set up. (I would love to be wrong about this. I'd run my own server if if you can find me dead-simple clients for enough platforms.)
SMS and MMS work well for phones but not for PCs.
AIM, MSN, and Yahoo, last I checked, work well for PCs but not phones. (Not sure if they still work well for PCs, pretty sure they haven't started working well for phones.)
Setting up a server is not terribly difficult though. I bet there are some simple container solutions.
With hangouts, if someone has a google account, there isn't much else to setup which makes things much easier for non-technical friends & family.
Hangouts has other benefits:
- All users support the same call/video features
- Using GCM means that battery life is better than with long polling, in my experience
- Integration with Google Voice means you can add phone users to your video call
- Sending images is built in
- Single chat history that's synchronized[1]
- Works on Linux, Windows, macOS, Android and IOS with the standard clients[2]
I've setup an XMPP server before and it wasn't that hard. I have friends/family using Hangouts and Signal messenger. Hangouts provides a pretty smooth experience and is my generally preferred way to initiate a video call with my family who runs a variety of platforms (Andriod, iOS, Windows, macOS, etc)
[1] Of course this is possible because of Google being the hub with is the grandparent's concern
[2] XMPP also has this but some chat solutions are not as widely available. Of course the web app will work anywhere you can run a modern browser. I'm thinking of the official Chrome extension and I don't know if it works in BSD or other OS's.
I'll set up the server, I'll put time and money into it, but it needs to be a one-step process to add each of my friends or it won't work.