É um pouco confuso, não é? Primeiro, a conta de acesso anônimo existe há muito tempo, a idéia de pools de aplicativos é nova no IIS 6. Eu acho (embora eu não tenha provas) que se o IIS estivesse sendo projetado do zero agora, não é assim configuração, parece que é apenas preservar a compatibilidade.
A conta do pool de aplicativos requer determinadas permissões no servidor. Normalmente, eles são concedidos adicionando a conta ao grupo local IIS_WPG.
A conta de acesso anônimo não requer essas permissões.
Supondo que seu site esteja configurado para permitir acesso anônimo, a conta que sua página executa será determinada pela configuração de representação do aplicativo da Web. Se a identidade estiver ativa, a solicitação será processada como a conta anônima. Por outro lado, se a representação estiver desativada, a solicitação será executada como a conta do pool de aplicativos, independentemente das configurações de autenticação.
Se você não precisar de representação, obterá uma taxa de transferência um pouco melhor se desativá-la. Eu também acho que é mais fácil de seguir se a solicitação de página for executada como o pool de aplicativos, em vez de ter outra conta envolvida no processo.
Eu escrevi algumas pequenas aplicações web para uma intranet corporativa. Eles tendem a usar a autenticação do Windows, para que o ASP saiba quem está acessando a página, mas não represente, de modo que a solicitação seja executada como o pool de aplicativos. Isso permite que o acesso ao banco de dados seja executado como uma conta do Windows, o que torna a administração mais fácil (IMO) e mantém nossos DBAs felizes.
O único site que não precisa saber quem o está executando, ativa o acesso anônimo, mas deixa a representação desativada.
EDIT: Leitura adicional.
Uma rápida pesquisa no MSDN encontrou este artigo que pode ajudar. Eu também achei estes dois artigos sobre como as coisas mudaram no IIS 7.
Eles parecem apoiar minha teoria de que a conta de acesso anônimo não é realmente necessária agora. O IIS suporta pools de aplicativos.
EDIT: Sobre a personificação
O ASP.NET usará as configurações do machine.config se não houver uma configuração no web.config. Mais informações sobre como os vários arquivos de configuração interagem são aqui