Delegation couples a class with an interface; inheritance couples a class with an implementation. So you can say that delegation causes loose coupling whereas inheritance causes tight coupling.
Furthermore, you can use inheritance in delegation. You cannot use delegation in inheritance.
Delegation is usually better.
w^5
inheritance is good when a class really is an extended version of another class. In that case to delegate will just become a PITA. Especially in Java. Instead of 1/2 of this stuff they added in 1.5 they should have added some stuff to make delegation easier and more reliable.
Sometimes delegation causes all of these forwarded methods that I just hate.