As a Windows user starting with Windows 3.1 and ending with 7/10 (as a support person for my family), I'm well aware how this inconsistency piled year over year.
During my regular Windows user years, I used to follow Redmond's side closely too. From my understanding, there are some factors contributing to current state.
The leading reason is "backwards compatibility at all costs", including but not limited to how programs behave. It's known that until Windows clamped down on security hard, older Windows programs used whatever functions they can find from .dlls, and also used "bugs" to achieve what they want. So, any changes which might affect how an older program look or feel are strongly frowned upon.
Windows is a gigantic codebase, and until semi-recently, Windows team didn't know what depended on what (the biggest revelation was printing support needed GDI, which brought all UI toolkit in, hence building a CLI only Windows was impossible). So, I'm guessing they're not entirely sure which parts of these applications are used by 3rd party applications. So they leave in, as-is, so nothing breaks.
The latest layer is the Microsoft's culture of "no polish, just new features" mentality. There's a very revealing writing by someone in Microsoft NT kernel team who said that "We can optimize something, but the change will be reverted, and you'll be berated because new features are much important than improving existing others, because new features are which make headlines and bring more revenue in".
Personally, I don't think that Windows team cares much about UI consistency and some other excellence. It's just a cash-cow and enabler of other applications, that's all, and while I'm not a Windows user, I find it sad.
During my regular Windows user years, I used to follow Redmond's side closely too. From my understanding, there are some factors contributing to current state.
The leading reason is "backwards compatibility at all costs", including but not limited to how programs behave. It's known that until Windows clamped down on security hard, older Windows programs used whatever functions they can find from .dlls, and also used "bugs" to achieve what they want. So, any changes which might affect how an older program look or feel are strongly frowned upon.
Windows is a gigantic codebase, and until semi-recently, Windows team didn't know what depended on what (the biggest revelation was printing support needed GDI, which brought all UI toolkit in, hence building a CLI only Windows was impossible). So, I'm guessing they're not entirely sure which parts of these applications are used by 3rd party applications. So they leave in, as-is, so nothing breaks.
The latest layer is the Microsoft's culture of "no polish, just new features" mentality. There's a very revealing writing by someone in Microsoft NT kernel team who said that "We can optimize something, but the change will be reverted, and you'll be berated because new features are much important than improving existing others, because new features are which make headlines and bring more revenue in".
Personally, I don't think that Windows team cares much about UI consistency and some other excellence. It's just a cash-cow and enabler of other applications, that's all, and while I'm not a Windows user, I find it sad.