If A -> B -> C each have composition
relationship. Are the root responsable
of creation and destruction of the
object B and C ?
It is common practice, for A to control the lifetime of B, and for B to control the lifetime of C. This way there is no relation between A and C which is better decoupling. (UPDATE: or as Korhan mentioned, the lifetime of e.g. B is dependant on A, an external class could also handle the lifetime management. The essence is, if the container is destroyed, normally every instance that it contains is destroyed as well.)
This is in the case of composition.
What aggregations have that the simple
link or references doesn't ? What make
them different ?
Aggregation is more specific than association. Aggregation represents a part-whole or part-of relationship. If the container is destroyed, its contents are not, this is the main difference with composition. The contents are most likely also used outside of the container.
A association doesn't have a direct 'has a' relationship. It's rather a 'uses a' relationship. This can occur for example when A does need to be aware of C for some reason. (try to prevent this!) Then there is a association from A to C. A more common scenario is when a certain function takes a certain type as input, but doesn't store it internally. Or when a helper class is called.