So, the stock Google messages app is perfectly fine for sending texts and pictures to other people in the US and Canada. All the other messaging apps do is add some bells and whistles and let you customize the UI.
If you want to communicate with people outside the US and Canada, you're going to get dinged pretty heavily by the carrier with per-text charges that add up quickly. In those cases you're best served by a non-carrier messaging app like Facebook, WhatsApp, etc. They're all more or less the same, send messaging via the internet instead of cell signal so can send to anyone around the world free of charge. The only real differentiator is where your friends and family already are, since you're never going to convince everyone to switch to a new app at the same time.