It's technically far inferior to anything including the ones you can self host.
I don't understand why people don't migrate even if it means they don't like commercial alternatives like Discord.
This depends heavily on just what you value for determining "superior" and "inferior."
IRC takes, as a first order estimate compared to most other options, no resources.
It uses almost no RAM on the server side, almost no CPU on the server side, almost no bandwidth, and has actual native clients on just about any platform out there that also use no resources. It's trivial to host small interest-based IRC servers that people can join freely without registration.
Compared to most other platforms, which require fairly heavy servers to host (Matrix struggles with less than a gig of RAM if anyone joins large rooms) and use utterly absurd clients (hundreds of meg of download, many hundreds of meg of RAM to run), it's a nice breath of fresh air in the chat world. It's clean, simple, text based chat in a registration free form (mostly - larger networks do tend to require nickserv registrations).
If you don't care about any of that, OK, that's fine. If all you're doing is looking at the feature lists, sure, it's "inferior." But in terms of utility value on very limited resource uses (which I still care about greatly, and have done extensive work on making Raspberry Pis into quite usable little desktops), IRC still holds up amazingly well. Matrix lags on a Pi4. Discord... I'm not actually sure the client builds and the web app is heavy. IRC is light and crispy, just as it's been on everything I've used it on back down to a 486.
Also... that it's mostly an obscure backwaters means that it filters for the sort of people who like those things, which means that, especially on small little niche servers and very focused channels on larger servers, the signal to noise ratio is through the roof - there is an insane density of skilled people, far more than you'll find any other places I've looked. Having instant access to what often is quite literally hundreds of years of relevant experience in a field, at the tip of your fingers, is amazing.
The ability to just drop in, ask a few questions and log out is great.
If I join a even a medium sized Discord server, I suddenly get tons of notifications unless I manually change the settings for the server (God knows why discord hasn't set up a user side default setting for that)
Also, a lot of communities grew in and around IRC chats, which means a lot of people with the habit. With the usual Relevant XKCD [2]
It's not in discords interest to do so. More notifications leads to more user activity which leads to more VC money (and indirectly to more nitro income if users who would have forgotten about the service get drawn back in and eventually convert).
An open protocol allows decoupling the client and service provider which defuses these misaligned incentives, which is likely one reason this current wave of messaging services are against ilthem.
IRC doesn't need to do that. It just does what it needs to do without all the BS.
No voice, no proper file transfer and can't even see messages when you're offline meaning there's no reliable way of mobile notification means it's just getting too old.
A survey of IRC users would likely indicate that none of them care about it, and it's part of the appeal of IRC - I can only judge people by how they type and what they communicate. It's more or less impossible to tell anything about age, gender, nationality, etc on IRC unless someone cares to disclose it. It's far harder to mask anything like that in voice as opposed to text, so while you may consider it a fatal flaw, I consider it a feature. It's one of the better borderless sort of protocols out there for communication.
> no proper file transfer
What's wrong with DCC? Still works, last time I've used it. However, with a lot of the various free pastebin/image/etc hosting services out there, I don't see nearly as much of a need for that as I once did. DCC is a rare thing now, as opposed to a common way of shuffling files around as it used to be. So, again, based on "I literally make a living on IRC" sort of experience with it, it's not just a big deal anymore. Plus, an awful lot of people on IRC overlap with "I have my own hosting somewhere."
> and can't even see messages when you're offline
Bouncers exist, work well, and consume very little CPU or RAM. You can fit a freebie ZNC bouncer in the Google Compute Engine free tier (micro instance, 1GB transfer outbound), and might pay a few pennies a month extra if it's a really busy month. However, most channels are also entirely useful if you're only connected part of the time. I mostly use a bouncer to catch any PMs - I don't read scrollback unless I've been mentioned, and it works fine.
> meaning there's no reliable way of mobile notification means it's just getting too old.
Again, this only matters if you care about that. I know a lot of people, myself included, who have more or less rejected the modern "everything mobile" ecosystem with the constant stream of distracting notifications, and that IRC doesn't overlap with my phone is a feature.
However, there are plenty of ways to make mobile clients and ZNC interact such that you effectively have a modern style communication app, on a phone, with IRC as the backend - if you care to do so.
Yes, I'm aware I'm an older style greybeard at this point, but the very things you list as "ancient tech" are part of what makes it appealing. It's lasted for 30+ years so far, and I expect it will comfortably outlast most of the modern messaging clients, because it does what it does exceedingly well.
As for the rest, they work well on other services and you can simply completely turn off notifications if you feel it distracting.
It's just IRC doesn't have modern features when one wants.
Still wondering why people need to stick to it other than just because especially even after such a hazard.
The only benefit of IRC in my opinion is that sign ups are optional and might keep you slightly more anonymous but the again, most people would stick to a same nick anyway.