I know it sounds silly but I believe the main reason for HipChat failing is mostly because the name was so uncool.
As an example, the only way to edit a message is to use a sed-style "s/foo/bar", which is absurd. Because of this, you can't edit messages other than the most recent one, and if you want to edit one instance of "foo" but not another instance of "foo" you're out of luck. That's a terrible piece of UX even if you're in the only subset of users (software devs familiar with sed-style search and replace) where it makes any sense whatsoever
As a sibling comment said, the main reason my team abandoned Hipchat for Slack was Hipchat was hopelessly buggy and unreliable at the time we tried to use it.
HipChat is a terrible name for a work-related collaboration tool, but "Slack" isn't great either....