For me, Slack and similar work really well for small companies or teams (20 or less). I haven't experienced work chat in a larger company or team, so I could see it getting messy.
As for people getting mad at you for going offline to buckle down and get work done, that seems like a business culture issue that isn't going to be any better at the same company if they got rid of work chat.