...
Multi-contribution deployment involves
...
separating application services into two or more contribution archives:
The main advantage of this approach is modularity: contributions can be broken down by functional subsystem allowing them to be versioned and evolved independently. In addition, multiple contributions can promote looser coupling between services as implementation classes can be separated into distinct modules. The downside of multi-contribution deployment is increased complexity; deployers need to manage multiple artifacts.
Single-VM Packaging Best Practice
For all but the most trivial applications, multi-contribution deployment is the recommended approach.