By includeAttachedArtifacts you're introducing some sort of anti-pattern. This should be fixed at the cause, meaning there where the artifacts are attached. Suppose there are other plugins which check the attached artifacts as well, they are based on different information. For instance, I'd like to report all attached artifacts. If I set the includeAttachedArtifacts to false, the report will still these artifacts as attached.
I'm not going to implement a detach artifacts either, because I can't assure there's no plugin between the attaching and detaching.
For the uniqueVersion I have to investigate the cons and pros.
Having unique versions is interesting if you want to lock a version of a dependency. This means that dependencies with a lock on a unique version of an installed version makes it useless for your co-workers. For that same reason I use most of the time either verify or deploy. I'd really like to avoid install, because that makes my local repository different from my co-workers. Instead I prefer to pull all SNAPSHOTs from a remote repository.