例えば IEnumerableインターフェースを持ってるクラスはforeachが使える
でももちろんコード的にはそれぞれのクラスで実装が違う

「このインターフェースを持っているクラスはこの機能が使える」
って感じで機能的に同じものを持たせるとき使うんよ

まあ>>346が言ってるようにC#は多重継承ができないから
それを複数継承できるインターフェースで誤魔化すってこともできるけどね