Release management with Maven is done entirely by the plugin and executes the Maven build only once.
These are the basic steps that the plugin performs:
Change the POM versions to the release version (before the build starts)
Trigger the Maven build (with optionally different goals)
Commit/push changes to the tag (Subversion) or the release branch (Git)
Change the POM versions to the next development version
Commit/push changes to the trunk
In case of a failure, the plugin will do its best to rollback the changes (local and committed).