Ranked in these QuestionsQuestion Ranking
Pro Robust integration with a huge number of tools
Slack integrates with tools like Trello, GitHub, Dropbox, Mailchimp, and dozens of others, so you can have a centralized event feed of your project right alongside your chat. This is tremendously useful for keeping context with your discussions.
Pro Very polished user experience
The entire Slack interface is polished and intuitive to use. There are very few bugs or inconsistencies in the UI and it's very fast to use. There is nothing in particular that is new with Slacks implementation of team chat, but the execution of the groups (called channels), search, external service integration and notifications is close to perfect.
Pro Native apps for iOS, Android, Windows Phone, OS X, Linux, and Windows
Slack has fully native apps for iOS, Android, Windows Phone, OS X, Linux, and Windows to give you the full functionality of Slack on most major platforms.
You can ping people to get their attention even if they are not online by @mentioning them. Slack supports desktop notifications.
Pro Drag & drop files in channels
You can upload a file to any channel over HTTPS simply by dragging and dropping.
Pro Syntax coloring
Pasted code can be colored based on syntax.
Pro Fantastic search functionality
You can deep search messages, files and snippets. Given Slacks integration into many external services, Slack is good enough to act as the central search interface for your entire team.
Pro Flexible, granular notification settings
Notifications are handled separately for mobile and the web app. You can receive notifications for all messages, just direct messages, or based on filters, and you can have different settings for different channels: you don't have to get notified every time someone pushed to GitHub or every time someone posts to off-topic chat, unless you want to.
Pro Freemium plan
Free forever, only restriction on searchable message archives, up to 10k of your team’s most recent messages and 10 apps or service integration. Great for trying out first
Pro Inline link previews (photos, mockups, etc.)
When a link is added, some content in the link is shown such as image - like how Facebook does it when you share a link.
Pro Supports multiple teams
You can be signed into multiple teams simultaneously and quickly switch between them.
Pro Dev team is invested, responsive, and friendly
Having submitted both feedback and support requests for bot development, I can personally attest that the team takes feedback seriously, and responds quickly to communication. This is vital for any closed-source or hosted project.
Pro Edit messages easily
It allows you to change what you sent by hovering to the message and selecting "Edit message" under the ellipsis (...).
Pro Slackbot extensible chat robot
The "Slackbot" can is an extensible robot that can be set you remind you about tasks, auto respond to certain phrases and a variety of other functionality.
Pro Emoji reactions to limit excessive posts and notifications
Pro Shows local time of each participant
You can click on the profile of a user to see their local time. An especially useful feature when members of your team are working in different timezones.
Pro It can surprise you
There's a checkbox in preferences under advanced options that may surprise you.
Pro IRC connectivity over SSL
Con Expensive when you need to upgrade
At $6.67 per user / month (or $8 if billed monthly) , Slack is significantly more expensive than the competition if you need features such as unlimited integrations (more than 10) or unlimited message storage (more than 10,000). However, the free version of Slack includes unlimited users.
However if you need only unlimited messages you can use storage services like https://slarck.com to upload then browse and search your entire message history, while staying in Slack's free plan. So with a combo of Slack+Slarck this con is not that major.
Con No self-hosting available
If you are worried about third-parties getting access to your data you should consider self-hosting. With self-hosting you are in control over where your data is stored, who has access to it. You will also not be vulnerable to exploits of a third-party provider.
Con Hidden max limit of free users per channel
Slack says that their free accounts support an unlimited number of users, which is true. However they don't mention that there is an undisclosed maximum number of users per channel (8462). For a large open source community, this is something to keep in mind.
Con Linux client is very RAM intensive
Con No built-in video chat yet
While Slack has no built-in video chat, it integrates with Hangouts and enable such functionality. Additionally, recent acquisition of Screenhero promises eventual built-in support for audio and video conferencing.
Con Slow and lags sometimes
Con No syntax higlighting
You have to create snippet somewhere else and paste a link
Con Prioprietary (non-free/libre)
Con API doesn't allow custom widgets in chat
Con "Native" desktop apps are web apps
While it's great that Slack provides installable apps for Windows, macOS, and Linux, they're just the Slack web app wrapped in Electron shell. This means they don't offer the same level of native UX that a truly native toolkit app would.
Con API is overall very poor
Can't do much with integrations.