Existem várias situações diretas nas quais alguém preferiria o IIS:
- Seu fornecedor de aplicativos exige isso
- Você está restrito ao Windows Server e não precisa de nenhum recurso específico do Apache
- Você precisa executar um aplicativo ASP ou ASP.NET
Certamente o IIS não possui equivalentes embutidos simples para alguns módulos Apache muito úteis, como mod_proxy e mod_rewrite, mas o IIS tem algumas vitórias próprias:
- Para isolar aplicativos para serem executados em diferentes contextos de usuário, o IIS permite a configuração direta de funcionalidades de diretório por e até mesmo de tipo suexec por arquivo.
- Para integrar com segurança a autenticação do usuário da solicitação da Web aos recursos de rede, como SQL Server, MSDTC, MSMQ e compartilhamentos de arquivos (isso pode ser um pró ou contra, mas é definitivamente um modelo diferente com suas próprias vantagens e desvantagens)
- O IIS é muito mais fácil de instalar e manter, já que é tão integrado à plataforma - se você estiver atualizando o Windows, estará atualizando o servidor da Web; não há necessidade de assistir às atualizações do Apache.
resposta curta, se seu aplicativo depende de uma infra-estrutura baseada em Microsoft (ou seja, Active Directory, compartilhamento de arquivos do Windows, SQL Server, Exchange Server, etc), sua vida será muito mais fácil se você usar o IIS. >
Atualizar
Refletindo mais, não há motivo para você não poder usar o IIS nem o Apache. Quando trabalhei em uma loja da Microsoft há vários anos, aproveitamos os recursos de integração com o AD do IIS, mas encontramos muitas situações (principalmente reescreve e tratam erros) em que havia métodos do IIS para realizar nossas tarefas, mas os módulos do Apache eram muito mais limpos ou mais simples. Então colocamos um servidor Apache (em uma caixa Linux) na frente do IIS, usando o mod_proxy, e colhemos o melhor dos dois mundos.