I think a key here is that Microsoft and Linux are very, very different.
Linux for example, on average wants to be small, fast and for those who like Unix like OSes. If you want a decent word editor, you install it. Distros like DSL and Puppy are perfect examples.
Windows is the opposite. In Windows it is the choice of the majority and it is everywhere. Most people have no clue how it works, but it needs to work out of the box or at least be easy to enable and install. Internet Explorer for example, on a Windows 7 install can easily be uninstalled or not installed with a clean image in some countries. But to install it all you have to do is go to appwiz.cpl, add features and install IE. Those files are already there, just not extracted to a directory where IE can be run. Add in 20+ years of backwards compatibility that Windows has out of the box, and all the current cool-bits and eye candy such as a 3D desktop (Aero), and it really adds up.
There is also the MS only stuff that is expected in a Windows install, DirectX, .NET libraries.
I think if you compared other OSes that tried to be this complete, you would see similar install sizes. Ubuntu for example is not much smaller than a base 7 install. I believe Ubuntu x64 6-8GB on the drive from the install is about standard (I might be slightly off here).