Currently, I am reading Pro ASP.NET 4 in C# and in it, two ways of creating a web application are described:
- Web Application Project
In which scenarios should I choose the former over the latter, and vice versa?
Microsoft made a table listing the differences between the two models, and when to use one instead of the other, check out http://msdn.microsoft.com/en-us/library/aa730880%28VS.80%29.aspx#wapp_topic5 This is exactly what you are looking for, and the explanations are very easy to understand.
In short: "web application projects" may be formed of multiple Visual Studio projects and are also to be used for websites designed around the MVC pattern. Whereas a "Web site" project is just that, one "web" project and all files must be contained inside (you may however link to other assemblies); it is better suited for old-school ASP.Net websites.
That article I linked to above gives a lot more information, check it out!
There is a HUGE list of reasons to use one over the other, but usually when I'm making a decision I base it on a few parameters. For instance, do you want your code files to be out in the open (well, still behind server security) or would you rather they are compiled into code libraries?