I've been using it on Windows for well over a year. I can't speak to how well it works on Mac or Linux, could be a terrible experience, I dunno.
In my opinion, its not the most ergonomic tool out there but its by far the most fully realized tool out there. There's lots of tools that are good for this or good for that, but mixing them in together gets to be a bit kludgy. Having calendars, live editing of documents, meetings, chat, and other tools all integrated into a single tool is extremely handy when done right, and Teams to me gets like 85% of the way there. There's some things it just doesn't do well (like the threaded messaging, kind of a mess, maybe we just don't do it right), there's things where its inconsistent (different features for meeting chats versus individual versus group chats), and overall it could stand to be a lot faster and responsive. But in the end, when someone shares a document in a call I've got it in chat history and in my OneDrive and can recall it straight from Excel or Word or whatever. When someone emails me a calendar invite, its in my Teams automatically. The first-party integrations are hard to beat.
Do I prefer things like Mattermost for pure chat? Sure, but then its separated from the tools I use for document management and separated from what we'd use for video calls and separated from my calendar for meetings and separated from our actual org structure integrated into it and all kinds of stuff. In the end, I personally like all these things being well integrated, and can deal with not having all the custom emojis and a slightly more responsive chat client.