OK, I'll start...
I think the two techniques are intended to address slightly different situations. Inheritance is used where there are one or (more typically) more objects that share a common set of functions (implemented in the base class) but also need to do some similar things differently (the bits that are added or overridden in the subclasses). But all the functions are directly associated with the type of object itself.
As for delegation, I tend to find this appearing when I find that a class is really implementing more than one discrete object. A new class can be extracted from the original one, which makes each one more cohesive, in that they more tightly implement the data and functions associated with one logically separate, er, thing.
I hope some of that makes sense! Was the question rhetorical or did you have a specific situation in mind?
Mike