Aggregating objects have an existence independent of their members, while composite objects do not.
Aggregating objects can handle their own object instantiation while compositing objects must be given other objects upon instantiation.
Aggregating objects must be instantiated by a factory or by an Inversion of Control (IOC) container while compositing objects may be instantiated directly.
Aggregating objects gain features by joining independent objects while compositing objects gain features by extending other classes.