Just to add a real world use case I found my way here looking for a way to disable the execution of the maven-antlr3-plugin when an "IDE" profile is active, signifying the ANTLRv3 IDE Eclipse plugin is in use. The issue is the M2Eclipse/maven-antlr3-plugin and ANTLRv3 IDE Eclipse plugins tend to trip over each other, as they both try to create the same generated source files. It would be easy to disable the ANTLRv3 IDE builder in Eclipse, but it offers the added benefit of programmatically marking the generated resources as "derived". This doesn't happen if M2Eclipse/maven-antlr3-plugin beats it to the punch after a clean.
M2Eclipse lets you set an active profile in project level preferences, which can be shared by checking in .settings/org.maven.ide.eclipse.prefs:
#Thu Nov 04 11:24:30 PDT 2010
Then a workaround similar to that referenced by Aleksander above works okay, where the maven-antlr3-plugin is only declared in a profile that is active whenever the "ide" profile is not:
The <disableExecution> or <disablePlugin> additions proposed would certainly seem to offer a more straightforward and succinct solution.