In the world of web site hosting there are two main types of operating system platforms on which you may host your web site, namely: UNIX and Windows. Each has its own set of unique features, advantages and disadvantages.
While it is difficult to say which one is the better choice, it is not as difficult to answer which is the better choice given your needs. The language which your site is programmed in is what primarily dictates the type of hosting you need.
UNIX systems (we actually use Linux but for comparison purposes they are identical) are hands-down the winner in this category. There are many factors here but to name just a couple big ones: in our experience UNIX handles high server loads better than Windows and UNIX machines seldom require reboots while Windows is constantly needing them. Servers running on UNIX enjoy extremely high up-time and high availability/reliability.
While there is some debate about which operating system performs better, in our experience both perform comparably in low-stress conditions however UNIX servers under high load (which is what is important) are superior to Windows.
Web sites usually change over time. They start off small and grow as the needs of the person or organization running them grow. While both platforms can often adapt to your growing needs, Windows hosting is more easily made compatible with UNIX-based programming features like PHP and MySQL. UNIX-based web software is not always 100% compatible with Microsoft technologies like .NET and VB development. Therefore if you wish to use these, you should choose Windows web hosting.
Web sites designed and programmed to be served under a UNIX-based web server can easily be hosted on a Windows server, whereas the reverse is not always true. This makes programming for UNIX the better choice.
Servers hosting your web site require operating systems and licenses just like everyone else. Windows 2003 and other related applications like SQL Server each cost a significant amount of money; on the other hand, Linux is a free operating system to download, install and operate. Windows hosting results in being a more expensive platform.
To sum it up, UNIX-based hosting is more stable, performs faster and more compatible than Windows-based hosting. You only need Windows hosting if you are going to developing in .NET or Visual Basic, or some other application that limits your choices.