With delegation part of your behavior is implemented by a seperate object instance while using inheritance there is only a single object instance. With delegation you can have the SELF problem where if you do something you can not pass any references to 'this' because this inside the delegate is different from 'this' of the delegating object. Problem does not exist with inheritance.
With inheritance, every interface of the parent object is inherited to the child object which is unfortunate. With delegation, the delegating object only exposes the interfaces it chooses to expose regardless of what the delegate implements.