Disclosure: Microsoft is a client of the author.
Microsoft has made many critical mistakes over the years. Something not uncommon in any firm. But one that seemed to me to be one of the most foolish was to take Windows NT, which was initially uniquely focused on Servers and Workstations, and fold elements of Windows 9x into it to create a more common code base. That made sense from a cost standpoint but created problems for all three groups. Windows Server had to then overcome consumer messaging and elements, workstation users seemed to lose focus entirely, and desktop users got more complexity then they’d ever wanted or needed.