Honestly, I don't really understand the hate that client-side decorations get. I find that they're generally pretty useful and good.
I think a lot of it comes from people who want to 'rice' and theme their desktops but I personally think that dream has sailed. The kind of theming people want on Linux systems is simply not possible without massive amounts of work and downgrades to accessibility, security and usability.
I'm very happy with my rice and the dream has not sailed at all, I have had no downgrades, to accessibility, or usability with a custom theme, in fact, I'd go so far as to say custom themes enable better accessibility and usability for me
A lot of it comes down to the fact that many CSD apps, due to how CSD itself works, don't respect desktop themes such as that which GNOME has, and due to using popover menus as opposed to traditional menus also don't provide proper context menus.
I'm a baby dev trying to collect some brain wrinkles. Can you expand that last point? What's the downside of client side decorations? What's a better alternative?
Due to the very nature of CSD itself, CSD apps often don't respect desktop themes. It also, unless designed to compensate, oftentimes does not provide proper context menus due to its use of popover menus.
Not as much of a problem on phones or tablets as unified themes across apps aren't really used as often on those platforms, but it's a problem that happens a lot on desktop, for example on GNOME.