Totalmente roubado de:
http://blog.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/#.Um5hYiS9CAI
Adicionar os repositórios no seu pom.xml ao invés do settings.xml pode ser catastrófico a longo prazo. Principalmente se você espera que pessoas utilizem esse artefato como uma dependência do projeto delas. Quando e se a URL sair do ar, as pessoas não vão mais conseguir utilizar as versões antigas da sua biblioteca.
Lembre-se, o pom, depois de deployado, é imutável - a URL ficará gravada para sempre e sejá quem esteja tentando utilizar essa versão vai ter muita dor de cabeça.
Digamos que você tem um projeto que tem como dependência (direta ou transitiva, mesma coisa nesse caso) uma biblioteca do jersey, que possui este pom.xml. No fim do arquivo você pode encontrar:
<repository> <id>glassfish-repository</id> <name>Repository for Glassfish</name> <url> http://maven.glassfish.org/content/groups/glassfish </url> </repository> </repositories>
E de repente, não mais que de repente, o repositório sai do ar. Assim, foi desligado, mudou de endereço, qualquer coisa assim. Anos se passaram, né?
Você inocentemente pensa que só precisa definir no seu projeto outro "repository" apontando pro novo endereço, né? Ledo engano!
Maven requer que todos os repositórios de todos os pom.xml que ele encontrar sejam válidos. Mesmo que todos os artefatos necessários estivessem disponíveis em outros repositórios válidos você simplesmente não consegue mais utilizar aquela versão do artefato. O build não falha por falta de artefato, falha por que um dos repositórios está dando "404 - not found".
Pior: o maven procurará as dependências SNAPSHOTs/LATESTs/RELEASEs em cada um dos repositórios definidos no seu settings.xml, nos seus poms, e em qualquer um dos poms incluídos transitivamente.
Então, se não for pra usar no pom, o que você deve fazer?
- Defina no settings.xml
- Crie um repositório no Nexus que agregue todos os proxies que você necessite, e aponte o seu settings.xml apenas para esse repositório
Se por acaso um repositório morrer, você pode corrigir o seu proxy (ou corrigir o settings.xml), e todas as versões antigas da sua biblioteca serão (mais) facilmente utilizáveis.
Soluções nesse caso de sumiço de repositório de uma biblioteca que você utilize:
- Faça upgrade pra uma versão que não tenha um repositório inválido. Simplesmente faça.
- Caso isso não seja possível, a única gambiarra é definir um mirror no settings.xml de todo mundo, apontando pra onde achar as dependências. Nojento de feio.

