As someone who almost lived on IRC in the 90s and now employs several people who use Slack almost all day, my take:
- it's an integrated system with a reliable client on iOS, Android, Mac, and PC that all work somewhat similarly and support all of the features
- dragging and dropping media just works
- the way URLs are expanded is nice, I've not seen any IRC client do this as well as Slack
- 'reactions' on chat items
- the search is great and it's integrated with every client on all those aforementioned platforms
- you can set quite complex sets of notifications for specific channels or conversations.. such as don't mobile notify me between certain hours, but then never mobile notify me for our #random junk channel.. stuff like that. Employees are very thankful for this feature.
- custom emojis, we use these more than you'd think.
- having our backend systems ping messages onto Slack is very easy, basically a single liner - I'd probably have to write some sort of HTTP to IRC bridge to replicate this.
embedded media, searchable archive, ready-made webhook integration, synced history across machines, proper support for multiple logged-in clients (and lately, I'm really impressed with how well the voice chat works compared to, say, skype).
Yes. There's a solution for all of this with IRC, but some of it requires specialised clients, servers running somewhere and some of it requires you to write additional code.
We're in the business of writing code for our core product, not for our internal chat server.
I'm not entirely opposed to writing code for our infrastructure that's not completely product-related but if I can have something that works out of the box for a reasonable amount of money, then I will go that way.
OTOH, when the problem concerns some dependency of the product in any way, then I'm totally willing to go much greater lengths of doing the work on our end than most of other people.
Because every single piece of the puzzle you control fully is a piece you won't have to find a replacement for in a hurry sometime in the future.
But company-internal chat? If Slack breaks (or gets too expensive), there are ton of alternatives all of which would be more or less equal replacements.
Uploading media is best done by using something like ShareX pointed at an internal server though so that you don't send important information outside the company.
The number of times I see people write root passwords or financial info in Slack is scary.
Forget about whether IRC can do everything that Slack does. I can give you number of reasons (many already have in this thread and others) but it does not matter. Millions have decided that it is better for them. We can either decide they are all dumb or choose to throughly understand why they choose it.
I think that understanding why people prefer Slack over IRC is an excellent exercise for developers. I am highly doubtful that one can build software for non-developers without understanding this.
It's far more polished, the integrations are endless and easy to use, and setting it up for non-technical people is a breeze. Along with its easy availability on mobile.