From what I can gather, the first two don't seem that different. Whether it's called a controller or presenter, it still seems to have the same mediation functions.
MVVM seems a little different in that the controller seems to be more of a part of the framework, such as with XAML bindings.
What is the "Cliff's Notes" explanation of the differences?