While there are XEPs to define these extensions, there is a huge gap between "you can do it" and "it's done here".
Could you cite at least 1 client that does all of the above on each platform (Linux, Windows, Mac OS, WP, Android, iOS) ? (This is a genuine question, I'd like to know if it really is possible, especially on mobile)
I share your pain, the state of actual implementations is sad. I don't know any (combination) of clients that do it all. Jitsi is pretty good but ugly and desktop only. Gajim is really good. Conversations is great for text on Android 4+.
It is no surprise that Whatsapp and the like are so successful. Textsecure/Signal is being too slow, I am afraid they missed their window of opportunity for fast widespread adoption.
Photos: No problem with XMPP. Just inline them if you want.
Voice calls, video calls: Easily done with Jingle, which is a XMPP standard.
Stickers: See above, they are just a special form of smilies which like any client supports.
And so much more: http://xmpp.org/xmpp-protocols/xmpp-extensions/
I wonder if you know what Whatsapp is based on.