The following list summarizes the major differences between an application page and a site page:
- An application page is deployed to the file system and a SitePage is deployed to the content database.
- An application page requires a farm solution and a SitePage can be deployed using a sandbox solution.
- An application page is shared all across the web front end, but a SitePage is unique to its location.
- A SitePage can be easily customized through SharePoint Designer, but an application page usually requires Visual Studio.
- Custom application pages should be secured and PageParserPaths for site pages should be avoided.
- Feature Receivers are necessary to clean up after a site page feature is deactivated. Application page artifacts are removed from the file system when the solution is retracted.
Application pages generally are great for administrative-like functions. For example, all the layouts pages (those that appear at _layouts URLs) are application pages that Microsoft wrote. You should never edit out of the box Microsoft pages or any other out of the box files for that matter. But if you wish to deploy custom application pages, your own folder in the layouts directory is the right place to deploy your custom application pages.
On the other hand, site pages are great for presenting content and functionality to the end user. They also easily adapt the look and feel using the default.master of your SharePoint web site. WebPart pages are special example of SitePages. These are simply SitePages with WebPartZones in them. The WebPart manager itself lives on the master page. Therefore, putting WebPartZones on a site page, allows you to create a page in which during feature activation, or at a later date you can put WebParts.
