Everything depends upon what you are trying to do. For example, if you are running a network and have numerous windows boxes that require centralized logins, you will use Windows servers to run as active directory controllers and most likely will also do DHCP and DNS on your network. Lots of organizations run Microsoft Exchange Server for their email and often run Microsoft SQL Server to provide database support to applications. And in a typically Microsoft environment, it's common to use Windows servers as file and print servers as well.
For some, they might be hosting websites and so forth. For lots of these installations, it's far less costly to use Linux boxes running Apache, mysql, php, java, or tomcat. Also, it's quite common for ISP's and datacenters to run their DNS infrastructure on Linux machines. In addition, Linux boxes can make excellent FTP servers.
For me personally, it all comes down to what I need to accomplish. If it's doable with Linux..that is typically the way that I go. For me, it's easier to setup and maintain. It often runs of fewer resources and requires less disk space. In addition, people who aren't all that knowledgeable usually don't mess with Linux machines as they are often command line only and people who require a GUI are often lost...thus they don't screw anything up pointing and clicking.