The Plugin Plugin is generally used for Maven plugins. Its goals are bound to different phases in the build life cycle. So when you execute a specific phase, the Plugin Plugin goals bound to it are also executed. Aside from this, each goal can also be explicitly executed from the command line.
The plugin:descriptor goal is bound to the process-classes phase since 3.0; it was bound to generate-resources phase previously. This goal generates the plugin descriptor, which is an xml file that contains information about the plugin (see descriptor's reference).
For example, you want to create an archive of your plugin and you execute
mvn package
You will see that the plugin.xml file is generated in the target/classes/META-INF/maven directory of your project. The file is also bundled in the generated JAR file.
To explicitly execute the plugin:descriptor goal, type the following in the command line:
mvn plugin:descriptor
To generate Xdoc files for the mojos of your plugin, execute the following on the command line:
mvn plugin:xdoc
The xdoc file is generated by default in ${project.build.directory}/generated-site/xdoc.
The plugin:updateRegistry goal is bound to the install phase of the build life cycle. This goal updates the plugin registry to reflect the changes in the version of the plugin you're installing in your local repository.
So when you execute
mvn install
you will see that the version of the plugin in the plugin-registry.xml is changed to the same version of the plugin that you have just installed.
You can also explicitly execute the plugin:updateRegistry goal by executing
mvn plugin:updateRegistry
from the command line.