Users have reported that our nightly snapshots become inconsistent from time to time. This happens when the upload to the snapshot repository fails during the deployment process. Maven doesn't support atomic deployment but deploys artifacts one after another, directly after installing them in the local repository. If the build fails at any time, no changes are rolled back.
This problem has been solved for Nexus repositories. For releases, we already take advantage of atomic deployments using staging repositories. Nexus repositories support this even without using a special Maven plugin.
For releases, we have to use the Web UI to close and release staging repositories. For snapshots this should be automated. Most importantly, the changes shouldn't alter anything for our release process.
I suggest to use the nexus-staging-maven-plugin which essentially replaces the standard maven deploy plugin. It can be setup to auto-close and auto-release snapshots staging repositories. For releases, it will be setup to never auto-close nor auto-release which keeps our existing release process.