Disclaimer: I work at Microsoft, but not on Windows (and I deal with a SaaS at MSFT). I am a FreeBSD committer and help maintain FreeBSD's GNOME packages and (very recently) the graphics drivers.
The reason why Windows is full of UI inconsistencies is (largely) because of one thing: backwards compatibility.
While backwards compatibility has it's perks, it also means having lots of old code in Windows that can't be touched very easily without breaking compatibility, And that means many old UI elements may stay, that's a side effect.
While desktop Linux/BSD isn't exactly well known for it's UIs, I found GNOME 3/40 to be more consistent UI-wise than Windows 10, being a user of GNOME 3 on FreeBSD at home (which I am typing this comment from), and helping port GNOME 40, while (unsurprisingly) using Windows 10 at $DAYJOB.
But then GNOME, KDE, Apple, et al. is more willing to break things than Windows is. They aren't as bound to legacy compatibility, so old UI elements can be shed easily.
The reason why Windows is full of UI inconsistencies is (largely) because of one thing: backwards compatibility.
While backwards compatibility has it's perks, it also means having lots of old code in Windows that can't be touched very easily without breaking compatibility, And that means many old UI elements may stay, that's a side effect.
While desktop Linux/BSD isn't exactly well known for it's UIs, I found GNOME 3/40 to be more consistent UI-wise than Windows 10, being a user of GNOME 3 on FreeBSD at home (which I am typing this comment from), and helping port GNOME 40, while (unsurprisingly) using Windows 10 at $DAYJOB.
But then GNOME, KDE, Apple, et al. is more willing to break things than Windows is. They aren't as bound to legacy compatibility, so old UI elements can be shed easily.