Из того, что я могу собрать, первые два не кажутся такими уж разными. Независимо от того, называется ли он контроллером или презентатором, он по-прежнему выполняет одни и те же функции посредничества.
MVVM немного отличается тем, что контроллер кажется скорее частью платформы, например, с привязками XAML.
Каково объяснение различий в «Заметках Клиффа»?