The Windows team invests a mind-boggling amount of time, hardware, and people into maintaining compatibility. There are bugs in Windows that could have been fixed years ago, but can’t be, because that would break applications that (deliberately or accidentally) depend on those bugs. Bug-for-bug compatibility is a problem, but breaking backward compatibility would be a much bigger problem, so even as the lowest layers of the operating system are revised and rewritten, the layers that applications talk to (the application programming interface, or API) are carefully tested to ensure that no changes are visible to the application.
At Microsoft, bugs aren’t to be stamped out; they’re carefully preserved. It sounds like a joke, but they really see that as a positive feature.