La diferencia entre los dos se presenta mejor en lo que parece una definición necesaria y suficiente del elemento de dependencia de gestión disponible en los documentos del sitio web de Maven:
gestión de dependencia
"Información de dependencia predeterminada para proyectos que heredan de este. Las dependencias en esta sección no se resuelven de inmediato. En cambio, cuando un POM derivado de este declara una dependencia descrita por un groupId y artifactId coincidentes, la versión y otros valores de esta sección se usan para esa dependencia si aún no se especificaron ". [ https://maven.apache.org/ref/3.6.1/maven-model/maven.html ]
Debe leerse junto con más información disponible en una página diferente:
"... el conjunto mínimo de información para hacer coincidir una referencia de dependencia con una sección de gestión de dependencia es en realidad {groupId, artifactId, type, classifier}. En muchos casos, estas dependencias se referirán a artefactos jar sin clasificador. Esto nos permite abreviar la identidad establecida en {groupId, artifactId}, ya que el valor predeterminado para el campo de tipo es jar, y el clasificador predeterminado es nulo ". [ https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html ]
Por lo tanto, todos los subelementos (alcance, exclusiones, etc.) de un elemento de dependencia, que no sean groupId, artifactId, type, clasifier, no solo version, están disponibles para bloqueo / default en el punto (y por lo tanto se heredan de allí adelante) usted especifica la dependencia dentro de un dependencyElement. Si hubiera especificado una dependencia con los subelementos de tipo y clasificador (consulte la primera página web citada para verificar todos los subelementos) como no jar y no nulo respectivamente, necesitaría {groupId, artifactId, classifier, type} para hacer referencia (resolver) esa dependencia en cualquier punto de una herencia que se origina en el elemento dependencyManagement. De lo contrario, {groupId, artifactId} sería suficiente si no tiene la intención de anular los valores predeterminados para clasificador y tipo (jar y null respectivamente). Entonces, el valor predeterminado es una buena palabra clave en esa definición; cualquier subelemento (s) (distinto de groupId,
Por lo tanto, cualquier elemento de dependencia fuera de dependencyManagement, ya sea como referencia a algún elemento de dependencyManagement o como independiente, se resuelve de inmediato (es decir, se instala en el repositorio local y está disponible para classpaths).