Slack calls itself a platform for team communication and it's all of that, and if you forgive my enthusiasm, a shit-load more. It has changed the way our tiny team works quite radically; for one, we've abandoned e-mail. I won't go into all that Slack offers (their documentation is extensive and very good, and there are tons of introductory articles), but I will tell you what we do with it, other than just simple "chat".
BTW, Slack is free of charge until you get addicted to it. If you're like me, you'll actually want to pay for it. :-)
Aside from simple searchable chats, as I mentioned earlier, Slack allows us to create any number of so-called "channels", a little bit like an IRC channel. Team members can be invited to channels to talk about particular topics. A two-person team doesn't need many of those, but larger organizations will want to separate topics.
Where Slack gets really interesting is in the integrations it offers; a seemingly endless list of services which allow us to get notifications, information, etc. into Slack. If you like a wee bit of hacking, there's an API and what they term incoming and outgoing "WebHooks" with which we can send data into and get data out of Slack respectively.
In other words, I can just enter something like
howis XX into the particular
Slack channel we created for it, and Slack goes out to a service we created which returns the information into that channel.
We also get notifications in specific channels from external processes. For example, a Nagios integration brings alerts into one channel. Another channel displays warnings we emit via MQTT and get into Slack with the help of mqttwarn (for which I created a slack plugin).
I can't tell you how incredibly cool this is, particularly since it also works mobile with the respective iOS and Android apps. Trust me on this: you want to use Slack.