This is a brief description of m2e integration of Maven build lifecycle.
Project import
Goals executed during project import is configured in Preferences / Maven / Goals to run on project import and by default no Maven goals are executed. This provides the best import performance but may cause problems for projects that depend on source code or resource generation. "process-resources" works for most projects that use source/resource generation but "process-test-classes" may be necessary for some projects.
Project configuration update
Preferences / Maven / Goals to run when updating project configuration configures goals to execute during project configuration update. Default is "process-resources" and should be enough for most of the projects, but like with project import some project may require "process-test-classes".
Incremental build
Eclipse performs incremental build after change to individual project files ("workspace resources" in Eclipse lingo). Due to limitations of Maven plugin API, current support for incremental build is limited to changes to files in resource folders. Exact goals executed during incremental build can be configured in project properties (right-click, Properties / Maven / Goals to invoke on resource changes). Default is "process-resources resources:testResources".
Full/clean build
Clean project build can be triggered by selecting all or specific project(s) in Project / Clean... dialog. Standard JDT builder "scrubs" project output folders by default, so Maven build should be executed after JDT builder to recreate any resources produced by Maven plugins.
Specific goals executed are configured in project properties (right-click, Properties / Maven / Goals to invoke after project clean). Default is "process-test-resources".
For most projects, running clean build is sufficient to regenerate all sources and resources produced during Maven build. Assuming that code generation plugins are bound to one of Maven build phases before "process-test-resources"