You must have had some amazing luck because my colleagues tried to install some DBs (it was a combination of Oracle 11g Weblogic and Maximo) and had miserable luck. And it was working on Win7.
I think the difference between installing applications that are basically written for Unix (Oracle for example) on Windows and compiling software is a vast chasm.
The parent to you is correct in that you can compile really really really old software on Windows with ease and very few changes. This is not possible on Linux.
Of course, that's because the libraries in fashion change on Linux very quickly and nobody cares about backwards compatibility that much. They say "just grab the latest version!" or "why are you trying to compile such OLD software?!", particularly if written in C or C++. I don't know about Python or scripting language support.
But a rubbish installer written by a company that has much of its UI written in Java (last time I checked years ago) doesn't really compare to the excellent backwards-compatibility of the Windows API and surrounding libraries.
This isn't even an anti-Linux rant; the same problem is found on Mac OSX. That runs into both problems - impossible to run old software (Rosetta support please?!) and impossible to compile it because the system has changed so much.
I meant as a developer platform. Yes it's true that, depending on the way it's implemented, it's common that software can't be installed on the exact versions the vendor tested it on or 'approved' it for. What I meant was that Microsoft bends over backwards to provide compatibility, although I guess I should qualify that by saying 'at the lower levels', i.e. on C/C++ code written not too far away from the OS dll's. Silverlight of course is a higher-level counter-example.
Didn't Win 8 jetisson most of the compatibility?