I agree, especially when it comes to window management and virtual desktops. I have been running Linux desktop since the late 90s and used A LOT of different desktops and window managers. I remember when gnome 2 came out and everyone hated it! (sound familiar?)
For work, I have my desktop running gnome and I have a macbook that I also use when traveling or at the office. I find my productivity on mac os drops with its absolutely terrible window management and terrible virtual desktop implementation. I instead run fedora in a UTM VM fullscreen and only use mac as a "host" for the VM.
Gnome (with version 3) required a change in how you use it as a desktop. In gnome 2 days, I used to have a grid of virtual desktops and maybe always assigned email to 1, chat to 2, etc. The task bar was heavily used and important.
But with Gnome > 3, I really love the dynamic virtual desktops. Every task I am working gets is own virtual desktop. As I finish a task and close windows with that task, that virtual desktop goes away. If I have a long running multi-day task, that virtual desktop with windows associated with it stay open for that whole duration. Only things related to that task are on the virtual desktop. I might have 25 browser tabs open in total, but 3 of them are tied to a specific task on the firefox window on desktop 2, 5 are tied to another firefox window on desktop 5 and so on.
Everything is _very_ keyboard driven, and I don't ever touch a mouse to interact with gnome itself.
This makes task switching really nice. There is no need for a tab bar with 50 items on it, or a browser window with 50+ tabs open.
One thing I do miss from some of the older window managers, is the ability for the window manager to do grouping/tabbing. I'd prefer if now application implemented tabs, and instead the window manager did it.
It's great that it works for your workflow. The problem is that GNOME is very opinionated in that the workflows they enable are the right workflows for everyone, and resist any configurability that would actually make it usable for the rest of us.
Of course, one can always use a different DE, but there's always friction in not going with what the distro you're using picked as their default (and tends to support better in practice). I think a lot of GNOME hate is coming from the users who feel that a DE that does not adequately reflect their workflow is being pushed on them so aggressively by their distros.