Imagine que você queira agrupar certas dependências que só serão empacotadas em determinados cenários? Por exemplo, digamos que você use MySql em desenvolvimento e Postgresql em produção, então você vai querer empacotar o jar do driver do MySql em um ambiente e o do Postgresql em outro. Como fazer isso? É só usar os profiles do maven. Abaixo podemos ver dois profiles configurados.
Para fazer o build na linha de comando é só passar o profile como parâmetro (-P):
> mvn clean package -Pdev
Essa configuração funciona para a linha de comando, contudo é necessário dizer ao eclipse que estamos utilizando profiles do maven, para que ele carregue corretamente as dependências ao executarmos a aplicação diretamente nele. Para isso é preciso informar os profiles nas propriedades do projeto (botão direito e em seguida clica em Properties). Veja a figura abaixo:
Pronto. Após essa configuração o eclipse irá carregar todas as dependências dos profiles definidos corretamente.