The main issue with IRC is that you have to stay connected all the time to recieve messages, and you have to leave your IRC client to see and search the logs (unless you have some intermediate IRC client server that runs all the time). It's just not as nice.
Yet it's not something that IRC provides out of the box.
I've got no issues running my own ZNC bouncer, but when you're choosing a product that an entire organization will use (including people who have no idea what "ZNC" means other than 3 letters), IRC is lacking a lot of features that get mentioned in every HN chat solution thread.
Yeah but if you suspend your machine doesn't it stop accepting connections? I personally set up a tmux window on a raspberry pi for this, but it's too much to expect a whole company to manage this (vs. a nice simple web GUI like slack)
Slack has seriously changed the way we work at my company and it's boosted our productivity by 100x.
Yes we had a IRC server for a while and no one was using it, so we always had to use emails for important communications.
You just got to try it to feel it. Some features on paper don't match with the experience of a product.
If you're worried about using it for large community projects (e.g OSS), then maybe IRC is still the better child for that particular audience, although there's already a couple of communities who have successfully moved to Slack entirely (Gopher comes to mind).
Protocol limits, I suppose. For example, how IRC handles channel history? IIRC, the only way to reliably have it is to serve logs over HTTP or alike (i.e. outside of IRC).
XMPP MUC is not perfect, but I believe would be a better match.
In return for stopping short on features, it's incredibly easy to extend (and the work has already been done in most cases). For example, there have been build and log IRC bots for many years before Slack existed.
Slack is even easier to extend than IRC, and all those IRC bots can be plugged straight into Slack.
A sufficiently advanced IRC client may be able to catch up to Slack in some of its essential features, such as formatted code sharing, image sharing (for screenshots and other things), document sharing, comments on uploads. etc.
But at that point, why not just use Slack or Mattermost.
And IRC is not even close to an adequate solution for what Slack does when it comes to non-devs. If you only ever talk to people who code, then perhaps you can work around IRC's deficiencies. But by using Slack, the conversation can be opened up to all sorts of non-technical people, and it enables them to communicate effectively so much better than IRC ever could. These non-technical people's contributions are essential to the functioning of almost all serious companies, meaning that for most teams, IRC will not work and Slack will.
IRC is a telegram network operating on Morse code compared to Slack's cellular network.
You're not too far wrong, though IRC could do with some updating to get rid of some of its more severe limits and issues which prevent it from as useful as it could be for less technical users.
Note, I'm not especially praising for this product, but I am for slack vs irc.