Essa é uma pergunta muito antiga, mas não acho que os benefícios do ASMX tenham sido retratados de maneira justa. Embora não seja muito flexível, os serviços web ASMX são muito simples de usar e entender. Embora o WCF seja mais flexível, também é mais complexo se levantar e configurar.
Os serviços da Web ASMX estão prontos para se levantar e adicionar como referência de serviço da web assim que você adicionar o arquivo. (supondo que o seu projeto seja compilado)
Para o fluxo de trabalho de desenvolvimento simples de
create webservice
-> run webservice
-> add webservice reference
, um serviço da Web ASMX tem muito pouco que pode dar errado, não muito que você possa desconfigurar, e é isso que é forte.
Em resposta àqueles que afirmam que o WCF substitui o ASMX, eu responderia que o WCF precisaria adicionar um modo de configuração simplificado do KISS para substituir completamente o ASMX.
Exemplo web.config para um serviço da web ASMX:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings />
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>