委譲を使ったって駄目なものは(設計が悪ければ)駄目でしょうね。継承は何のためにあるのかと問われた場合、システムの負荷軽減や効率向上のため、あるいはできることを少なくすることでユーザーの見通しをよくするためにある、と答えるのが(SELF 登場以降の)無難な見解だと思います。委譲機構で実現できるいくつかのパターンのうちのひとつ、あるいはトレイト(aka クラス)との合わせ技、と見るのが妥当でしょう。継承の特性を型チェック機構に役立てるのも、そのアクロバティックなもののひとつと考えてよさそうです。

ではオブジェクト間の委譲機構はなんのために必要かと問われれば、これは単純に差分プログラミング、あるいは(良好な設計を前提としたときの)メンテナンス性向上などユーザーの労力節減、はたまた近年ではほとんど意識する必要のなくなったメモリ節約のため、と答えます。この場合、対極に意識する機構は「埋め込み(embed)」。

まあそれはともかく、クラスやオブジェクトの運用に際して、どのような歴史的経緯で継承のような機構が必要とされ、生み出されたかについては SIMULA I 〜 SIMULA 67 の論文に詳しいはずなので、あとでじっくり読んでみることにしましょう。

http://portal.acm.org/citation.cfm?id=808391