Remember, the general idea is that Windows is fully backwards-compatible. It's not entirely true, some things (like sound in Supereme Commander...) just plain don't work, but most things do (I'm using a Win 98-era Windows Commander and it runs just fine on 8. Talk about robust). I suppose you could shave off a lot of stuff if you did away with that concept, but it'd likely cause a whole lot of issues for old programs. MS has a good reason to care about legacy stuff, too, businesses wouldn't exactly like rewriting their programs with each Windows upgrade. By now, after 10 or so Windows versions, it's understandable that it accumulated some cruft.
Also, it's not like MS is at fault for that particular legacy issue. It's lazy programmers using Windows name instead of internal version number for identifying system version. It's not a very good practice, but that doesn't mean it isn't common. It's just another example of boneheaded programming decision biting someone after a few years of being "good enough". That's why you write things right from the start, and avoid sloppy solutions like that.