I think the fact that Windows has a monopoly seems to help a lot.
Open Source can only get better and is often designed to work cross-platform. Unfortunately no one has the funds to really compete on the same level as Microsoft which has immense profits and a huge bank account with no debt.
IBM and Novell are the only ones that can really compete (perhaps Sun and Redhat stand a small chance)
I wonder what Redhat would do if they had $50bn in the bank? Would they make Linux even better and user friendly, or make their products proprietary and closed source?
For cheap web hosting with moderate traffic LAMP is the best solution (Linux Apache, MySQL, PHP)