> Why are people always writing these types of posts?
Most probably because...
> .NET/VS.NET is one of the best programming environments ever engineered
... simply isn't true.
Unless you are saying it's one of the 10.000 best programming environments ever engineered or that others, like Smalltalk/80, Genera, Interlisp, Turbo Pascal, the NeXT toolset, Zope, Rails, Django were "grown" rather than engineered. I agree VS is and has consistently been the best single IDE when you are using Windows to write software that runs on Windows, but it fails miserably out of its narrow domain (however deep it is, as it accounts for a huge market share). It's much like Xcode being the best IDE for using an Apple computer to write software that runs on Apple computers. It certainly is.
Microsoft deserves some recognition, for many times they delivered what the market needed. From its very first BASIC interpreter, to Windows, to Windows for Workgroups, to the first affordable alternative to Unix on RISC boxes (NT, for those too young to remember), to Visual Basic (the only language many corporate developers ever knew) they more or less set the tone of the entire PC industry.
As for charging money for software, the market changed. It's like complaining you can no longer sell ice blocks because everybody owns a refrigerator or that you don't sell as many carriages as you once did because people prefer cars. Embrace the change, use the tools and help build them into even more impressive ones (from the list I showed in the first "real" paragraph, 4 have always either been open-source or have a direct descendant that is). You can use them for free, you can build on them and you can improve them so they better suit your needs.