I understand that dependencyManagement in Maven gives you great benefits in terms of avoiding different versions of dependencies in sub-poms and in using one (and only one) version of a dependency.
At the same time, I am struggling to understand why overriding transitive dependencies by dependencyManagement is a safe thing to do. Let's say that we have a dependency D which is set to version 2.0 with dependencyManagement. Another dependency - C - also uses D, although it depends on D in version 1.0. With dependencyManagement, I am setting this transitive dependency up to 2.0. Isn't this dangerous? After all, C relies on the API and the implementation of version 1.0 - what if breaking changes have been made between the versions 1.0 and 2.0 of D?