El ámbito compile es el ámbito por defecto, de modo que será el utilizado si no se especifica ámbito alguno. Toda dependencia con ámbito de compilación será incluida en la ruta de clases del proyecto y también será incluida en el artefacto final.
El ámbito test indica que la dependencia sólo es necesaria para compilar y ejecutar las pruebas del proyecto, de modo que no será incluida en el artefacto final.
El ámbito provided indica que la dependencia se utiliza durante las fases de compilación y pruebas, pero que no se incluyen en el artefacto final. Se utiliza a menudo para incluir los archivos JAR de JavaEE (como, por ejemplo, servlet-api.jar), ya que son necesarios para compilar pero, como ya están en el servidor de aplicaciones Java, no es necesario volver a incluirlos dentro del artefacto final.
Existen 4 tipos de scopes que maneja Maven para importar las dependencias: 1. compile (por defecto), 2. Test (solo pruebas), 3. Provided (Compilación Y Pruebas pero no para la versión final) y runtime (necesaria para funcionar en tiempo de ejecución pero no para compilar)