Model View Presenter et Model View Controller tentent tous deux de résoudre le même problème de "séparation des préoccupations".
La principale différence réside dans le fait que le MVC (Model View Controller) est souvent mis en œuvre avec un certain couplage entre la vue et un modèle quelconque - ainsi, une vue donnée est spécifiquement destinée à fournir une visualisation d'un objet donné (modèle).
Dans le modèle Model View Presenter, c'est généralement le Presenter qui se charge de travailler avec le modèle et de décider des informations dont il aura besoin pour former une sorte de visualisation.
Dans ce diagramme, les flèches représentent des dépendances :
Généralement, on entend parler de ce modèle lorsqu'on évoque le cadre ASP.NET MVC, et on tombe sur des informations concernant le modèle MVP et sa mise en œuvre dans ASP.NET WebForms. D'après mon expérience, il est fréquent que l'on pense que WebForms est en soi un framework MVP - ce n'est pas vrai. WebForms permet cependant de mettre en œuvre très facilement un modèle MVP - votre meilleure ressource pour cela serait d'étudier le Web Client Software Factory de l'équipe Patterns and Practices :
Site de CodePlex : http://www.codeplex.com/websf
Un excellent screencast couvrant le sujet : http://www.pnpguidance.net/Screencast/MVPBundleScreencastWCSFModelViewPresenterDesignPattern.aspx