First of all, you're mixing two things that are completely independent from each other:
- (One for all or one for each) SCM repository and
- Maven projects with their versioning.
Note that sub-module projects that use a <parent> don't necessarily have to use the parent POM version that's the current one in the SCM repository, e.g.:
Root POM
<groupId>my</groupId>
<artifactId>root</artifactId>
<version>2.0.0-SNAPSHOT</version>
Lib1 POM
<parent>
<groupId>my</groupId>
<artifactId>root</artifactId>
<version>1.2.3</version>
</parent>
<groupId>my</groupId>
<artifactId>lib1</artifactId>
<version>4.5.6-SNAPSHOT</version>
is perfectly fine since my:root:1.2.3:pom will be resolved from the (local or remote) Maven repository (if it has been installed/deployed there previously).
Root Project Version
The meaning of the version number of the root project (with <packaging>pom) is the same as for any other Maven project:
x.y.z-SNAPSHOTversion while you add/remove/change things in your POM and test them,x.y.zrelease version if every work is finished, tested thoroughly and hence ready to be released into the wild.
It's entirely up to you which change increases the major, minor or patch version number. As a first approach I'd change the major version for changes that cause builds to fail potentially (e.g. if it's not clear whether an upgraded dependency version is downwards-compatible) or even definitely (replacing JUnit4 with JUnit5, for instance). I'd change the minor version for e.g. a version upgrade of a dependency that's proven downwards-compatible. I'd change the patch version if it turns out that the tests weren't that thorough after all and there's e.g. a typo or a misconfiguration of a plugin, or the like. (See also Semantic Versioning 1.0.0 and 2.0.0)
Distribution Package Version
You don't have to pick a version from (one of) the components. The things mentioned at the beginning (independence of SCM repository and Maven projects) and under Root Project Version above apply here, as well.