Now I'm at a place that uses Teams. I don't think Teams is perfect, but I feel like Teams gets extra hate just because it's Teams. The best feature in my opinion is the group thread feature. Having people able to start a threaded conversation by default gives a lot of granular control over what notifications I receive by default.
When Teams was forced upon us at my company, it was a trash product that I would be ashamed to release. It crashed a lot. It was slow. Background noise cancellation was non-existent. Scroll-back history was nearly impossible. Search was trash. Of these things, it's now more stable and has background noise cancellation, but it's still slower and more difficult to use with garbage search and a confusing interface to find the team you're looking for.
Before we had teams, there was a lot of talk in the company of "breaking down the silos". Well teams has silos built-in. It literally makes it harder to find the right person or team to talk to just by how it's designed.
I hate the "Teams" aspect of it, which is like group chat. A lot of people start new topics when they should be replying to an existing topic. Bad UI there. (Along the side you have "Activity", "Chat", "Teams", "Calendar", "Calls" and "Files". So you have something called "Teams" inside something called "Teams". More ambiguity is not what I need in my life.)
But I really hate the fact that it is integrated with sharepit, which in my opinion really is the worst piece of software ever made. People love to add files and directory trees to it, and as far as I know there is no way to bookmark anything. Googling it just gives you links to bookmark messages.
It’s slowly starting to become usable, though. After several years, you can now actually use the search function.