I have some tips for you that come from my experience using each.
MVC - This model / architecture is old, tested and verified. Really great for web projects where views are separate from the server (and models).
However, I think there are better templates when a model is available that can be used instead of MVC.
MVP - use it when you do not have a datacontext that allows you to bind (e.g. WinForms). Also, if you cannot use ASP.NET MVC for some reason, but you can still use ASP, MVP can be a simple migration to help you separate your views from your model.
As a final note, I know they didn't ask this, but MVVM is probably the best of the group. You can use this if you have a datacontext that provides a fully recognized method of binding to the properties and methods of other classes (e.g. WPF). MVVM is superior to MVP in that it reduces the amount of code since you no longer need to support view interfaces.
My post MVVM vs MVP vs MVC: explained differences explains this in more detail.
source share