It can't do the literal entire thing an operating system is supposed to do: manage applications and their resulting windows, in a sensible way.
I want to know what application is running.
Sure it's in the dock!
I want to find a specific application window.
Go fuck yourself right to hell.
Wait, the taskbar doesn't show the running windows, like it does on every other OS? It's at least discrete right?
It discretely takes up 1.5cm of the bottom of the screen at all times. It's so discrete it doesn't even need to use the corners.
Uh, alright, well that's all the system space you need right?
Yeah of course just that bottom inch or so .... And a top of screen system level menu bar to display what windows does in the bottom corners.
/sigh/ ok, fine, I just want to be able to full screen a window and still see what else is open.
Burn in hell and die.
I want to be able to easily switch left and right between open windows.
Go full screen or I will shoot you.
I want to move an open window into the other monitor.
You can't because you're full screen dumbass.
I want to let a window present a popup like they normally do.
You can't because youre full screen dumbass. Why would you be full screen?
I want an application like Slack to be able to popup and remove notifications when is appropriate.
Choose to have every single notification persists on screen until you manually remove it, or miss all your notifications.
Can't we trouble you for something in between, where we trust an application and let it manage them in a way that makes sense based on their context?
You can trouble me for something in between these cheeks, shit stain.
Like honestly, I fucking hate what an advertising and AI filled mess Windows is, but it can actually manage your windows and virtual desktops in a way that makes a modicum of sense.
It feels like a single Apple product manager decided that the way that they use their computer (a single application at a time, no windows to manage) is the only way anyone does, so who cares if we implement a nonsensical full screen paradigm, it makes one tiny niche edge case slightly simpler.

But that's the thing, you haven't instructed it that you want it to quit, you've only instructed it to close a window. That's what that button does, and its function shouldn't change based on whether it's the last window in the application. Plenty of uses for running programs headless and not having them take up resources by keeping a window drawn (though certainly less of an issue now than it used to be).
Dunno, I like more granular control instead of changing functions based on context when it comes to basic UI. If I want to quit a program, I quit it. If I want to close a window, I hit the UI element that does that, and only that.
But this split goes back to the late 80s: Microsoft was late to the multi-window paradigm, and their first implementation pretty much was wrapped in one program, one window. If a program needed multiple windows or panes, they were all drawn in a parent window. Closing that parent window closed the program. They caught up I think with Windows 3.1 (and not fully until Win 95, though my memory is fuzzy, it's been 31 years!), but kept the program-window coupling because their users were used to that, and it's stuck. Linux desktop environments were built more towards the Windows paradigm so as not to confuse the largest source of new users, so now that stuck, too.