.Net is MS's answer to Java. The theory behind Java was that it was a return to interpreted language, which gave it the advantage of being cross-platform (at least for any platform where the interpreter [run time library] was available). As far as MS was concerned, it had two major disadvantages: It was not dependant on MS or Windows and it it was not controlled by MS. They first tried to fix this by breaking the Java licensing conditions, and producing their own version.
When the courts forced them to stop this, they first reacted by stamping their feet and refusing to play ball - hence the need for many people to download the Sun Java environment.
When this disn't work, they came up with plan B. As the majority of development languages are produced by MS, they simply modified them all, so that whichever language you chose to develop in, it was reliant on the same run time environment. They pushed this as a major advance.
The result is that even for some trivial programs, you need around 22 Mb of runtime library (in addition to the main exe), and some programs which have been re-wriiten in .net are so slow on the average machine as to be almost unusable.
According to the New York Times "In recent years, Microsoft has spent more than $3 billion settling lawsuits [relating to antitrust, monopoly abuse and patent infringement]" but don't worry, underneath it all they're really good guys!