Windows has a well-deserved reputation as a large operating system. A standard installation of Windows XP (with nothing else installed) can easily occupy something in excess of 1.5 Gbytes of disk space. In part, that's because Windows is a general-purpose operating system. As such, it's a kind of kitchen sink software, with all manner of tools, capabilities, and functions thrown into the mix.
That trend started almost a decade ago when Microsoft built HTML rendering functions into Windows: What had previously been part of a separate application--a stand-alone browser--was now inside the operating system and available to any application or utility that wanted to use it.
That sounds like a good thing, and indeed it can be--sharing common functions can be a fine way to reduce overhead and simplify setup, installation, and maintenance. But there are downsides, too:
For example, users who installed a stand-alone browser (e.g., Netscape) ended up with needlessly complicated systems, carrying both the unwanted Internet Explorer code buried in the operating system, and the code for the stand-alone browser that duplicated many of the operating system functions.
More seriously, code-sharing also means problem sharing: Any coding errors, security flaws, or other problems in shared code can affect any or all of the components that access and make use of that code. This, in fact, is one of the reasons why Internet Explorer and Outlook Express--distributed together, and sharing some common code--became the primary infection vector for huge numbers of worms, viruses, and other malicious code.