I won't spend time searching for you, but there are blog posts from softies describing the various attempts over the years to segregate code, and this is the result of that failure.
Well...that's in all actuality a management failure. I'm familiar enough with a lot of stories about the codebase to say that it's a massive piece of junk. There is no reason why it couldn't be managed better and segregated - that'd actually help them in many many respects if they actually took to action and did it. But they're putting the priority in doing things other than making their life better. However, like with most companies they'll only actually do the hard work that's necessary when the shit hits the fan like with the XP -> Longhorn debacle that reset and create the XP -> Vista project - the only point in their history where they did a massive amount of work on the codebase itself without adding features because it was so borked.
But then, their whole patch system is borked too - they have a long (long) history of one patch fixing something and then next unfixing it - sometimes delivered together. The WMF bug did that for years - originally fixed in the Win9x series it was still being fixed in Windows 8! Breaking apart the repository would help solve that. Treating your own projects as third-party tools helps solve that.
And git has some nice utilities (f.e git submodule) that helps bring things together when you need to - projects become meta projects and you can track dependencies easily, do upgrades, etc. in very controlled ways.