Well, try to run a five year old Linux binary on a today's machine and have fun. Ok, I should be more precise: On a GNU/Linux system because the kernel API is usually more stable (mostly, but not always), but library interfaces seem to change on a daily basis.
However, one should also be fair and understand how programs on Linux are used and developed. Windows lives from binary distribution, Linux lives from source code distribution and its volunteers. On linux, you have to recompile, and you have to depend on the community to port from one release to another. Linux runs usually with the programs you get from your distribution, and only if you're lucky from those compiled for something else.
Still, it is a lot of work, and Linux would have a larger user base (but a smaller author and maintainer basis) if the API would be more stable and binary programs could be just used and installed "right away", even from outside the distribution.
Linux makes its programmers happy. Windows makes its vendors happy. Either you beome a programmer and pick Linux and keep maintaining it, or you become a user, pick Windows and keep paying for it.