Roleと抽象クラスの違い

Moose/MouseのRoleはMix-inのようなものらしいが,抽象クラスをMix-inするのと違ってそのロールクラスを継承ツリーに組み込むのではなく,シンボルとメタ情報をそのロールクラスを使用するクラスにコピーする点がMix-inと異なる,という理解でいいんだろうか。
この理解が正しいとして,Perl組み込みの継承メカニズムを使わないのかが分からない。$c->isa()と$c->does()を区別したいから?

MooseとClass::MOPを行ったりきたりしながらコードを読むのは幸いが,今はMouseという小さなディストリビューションがあるので,あとで読むことにする。