One concrete improvement that Slack offers over IRC is that you get the history of a public channel from before you joined it in your normal client. That means you can start a new channel and invite people later as needed and they can look at history, instead of feeling like you need to keep things in the same channel. (I literally joined a newly-created IRC channel a few days ago where I have been having lots of high-bandwidth discussion with one other person and probably there are plenty of other people who want to see the discussion too.... we'll probably end up summarizing it on a mailing list and hoping we don't leave anything important out.)
You could technically implement such a thing on top of IRC (in the same way that bouncers are implemented on top of IRC), but I don't think anyone has done so yet, and the fact that it's not part of IRC means that it's by definition value over IRC.
> One concrete improvement that Slack offers over IRC is that you get the history of a public channel from before you joined it in your normal client.
At work, we used to communicate via Jabber/XMPP. When we connected with our client to a group chat, the server would send the discussion history to the client, so we could see messages that were sent to the group chat even when we weren't connected.
We now use Slack, and I've tried both the XMPP and IRC gateways. One thing I noticed about the XMPP gateway is that whenever I reconnected, it would repeatedly send me the last message I sent to someone or a channel. Neither gateway will replay the messages that were sent to channels while my client was not connected.
IRC logging is a solved problem. Just have a bot log your channels and upload them somewhere. Then you can throw them in the same search index as your wiki and your mailing list archives.
Does it put them in my normal client? That UX is valuable.
Also, I forgot about private channels - Slack does the same thing for private channels, synchronizing permissions to join the channel with permissions to read and search the logs, which putting them in a shared site-wide search index wouldn't do.
Why does it matter if anything else does it too? Even if everything slack does is possible with irc, fact is slack is much easier to deploy at scale, much easier to get nontechnical people on, much easier to integrate with things like pagerduty or datadog.