I learn a lot in slack and we have a big company, so I feel like helping people out with stuff during the day raises your profile. I'm kind of a python dabbler, but now I have people asking me directly about stuff because I'm 'the python expert' since I answer questions in the python channel a few times a week.
Doing my own work is obviously important, but I think helping other people get work done is important as well.
Just this week I introduced a guy on a totally different team to cloudformation, and in the process learned quite a bit about how they were using elastic map reduce, something we've never touched on our side of the company. He learned something, I learned something and I think the company as a whole benefits (even though I probably delayed my own work by a little bit)
It's really good at blowing up silos if you're a large-ish company. The difference in how connected I feel to the rest of the company is night and day since we switched to slack.
I don't get it. Doesn't any popular chat client fit the bill? The thing Slack adds is big persistent chat groups which doesn't help with the problem you're describing.
That's all contingent on a culture of async Slack usage, but I've found it valuable.