More of the recent studies and statistics show that Windows Server 2003 is offering more speed and dependability than its precessors: NT and 2000. For file hosting and hosting, Windows Server 2003 will be faster than Linux - just at a cost of RAM. Plus, you'd have to manage things reasonably; you wouldn't host your MSSQL or mySQL on the same box as the actual domain. Normally, I would have Server 2003 as the primary host (apache, php, perl, etc) and then have another box on Slackware or a debian-distro with the mySQL on it (or postgre, depending on what the customer wants for their database management). Any linux distro is more secure because there's a less likely varient for viruses and exploits similar to the most notorious Windows ones (nimda, code red, etc). However, Linux will always have its downsides too - as most proper 'hackers' are aware as to how to get their way to root with the right amount of work. Of course, this falls true for Windows as well - but that's just saying a personal preference.
Naturally, I use FreeBSD and Debian for most online-based hosting or OS-usage. Most of the customers I've had in the past requested Windows due to the ability to use a VM to connect (once they load VM Server) and manage the environment like a normal desktop. Obviously, the same can be done on linux - but most prefer the command line or a BASH shell for them to manipulate data with.
You're right otherwise; but some people will always prefer a Windows environment over a Linux one. Windows will consume your memory in matter of moments if you don't know how to manage it properly. For instance, with 512mb of RAM on each of my servers, I only use about 100mb out of it for running windows, apache, and most other simple services. Of course, I'm not crazy enough to try to use IIS and think it's useful ;p