Except the opposite is true. I know plenty of people who intentionally use IRC because it _doesn't_ do those things. It hasn't been the victim of feature creep. Hell, even networks with services (chanserv, nickserv, etc) are often looked down upon. There's no walled garden, a very low barrier to entry and everyone speaks the same protocol. Think of the mess of incompatibilities you'll end up with, when someone's using ircII and someone else is using mIRC and yet another person is using shiny-new-feature-laden-client. If you'd like to see what that looks like, go back in time six months and connect to a slack IRC gateway. It was a mess (but it was the only way to get /ignore).
>You don't hear people saying things like "I want to be able to send/receive messages while offline on IRC" because they just use something else.
Almost. They still use IRC - but they extend functionality "outside of IRC" with bots. You don't hear this because people make bots with .tell commands that supplement this functionality. The next time a user logs in the bot will /msg them something like "You have 1 message. Use .read list to see a list of unread messages" then they ".read 1" they can then .reply or send their own .tell
Anything IRC "needs" gets supplemented by a bot that takes care of the functionality.
Just like you don't hear me wishing that PHP or Fortran had certain features.
It's not very good evidence.