What does the parent tag in Maven pom represent?

Solution 1:

Yes, maven reads the parent POM from your local repository (or proxies like nexus) and creates an 'effective POM' by merging the information from parent and module POM.

See also Introduction to the POM

One reason to use a parent is that you have a central place to store information about versions of artifacts, compiler-settings etc. that should be used in all modules.

Solution 2:

The common dependencies,Properties,constants etc can be definded in central parent project pom.xml

The main important thing is the parent project cannot be distributed and it looks quite similar to a regular "pom.xml" except that it also has a packaging tag

    <groupId>com.company.demo</groupId>
    <artifactId>MavenInheritance</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

The child now able to inherit this using

   <parent>
        <groupId>com.company.demo</groupId>
        <artifactId>MavenInheritance</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>