And sure - if I remove all my mirrors from settings.xml, do not build other plugins than from one specific branch/trunk on my machine with the same ~/.m2/repo in it then you are correct.
Having stuff is a settings.xml makes build non portable. It reduces
the control build provider have on dependency management since you
(as a consumer) decided to use other repositories. Having a
settings.xml with repo in it is just like adding stuff to the parent
pom, we cannot guarantee that much with customized pom.xml, it's the
responsability of the user.