Imagine a world where televisions were just invented. The MS method of money making goes like this - first, you give away a free Microsoft television to everyone in the country. Then, once you've done that, you start approaching corporations and other deep-pocketed organizations and offering to sell them broadcast facilities for megabucks. Now, because you control the client end, you can stack the deck in favor of your broadcast facilities - the server end, where the money is. Microsoft TVs will only get color pictures and stereo sound when the broadcaster uses Microsoft studios. But if someone tries to use a non-Microsoft broadcast facility...well, Microsoft TV owners can see it, but only in black-and-white and with crappy mono sound. It only does the cool stuff if you have a Microsoft TV and the broadcaster has a Microsoft studio.
That's the impetus behind stuff like ActiveX and ASP.NET - to create channels where you can do cool stuff, but only if you use MS browsers and MS servers. So if you want to do that cool stuff, you have to buy the server from MS, because they sure aren't giving that away for free, unlike the client end.
Bingo.
You don't know what you are talking about. ActiveX was not created for the Internet (although years ago they attempted to use it on the Internet). ASP.NET does not create content that only works on MS browsers. All the cool stuff offered by .NET is usable by any browser that conforms to W3C standards. BTW: FireFox does not support CSS correctly. It is FireFox's problem, not Microsofts. CSS are defined by the W3C, not Microsoft.