ASP.NET offers three distinct Web Parts development scenarios. These scenarios include (1) building regular pages to consume Web Parts controls, (2) developing Web Parts controls, and (3) implementing Web Parts pages and Web Parts within a portal-type application.
Developing Web Parts Controls
Web Parts controls represent a superset of the existing ASP.NET server-side controls (including rendered controls, User controls, and composite controls) regardless of who wrote them. For maximum programmatic control of your environment, you can also create custom Web Parts controls that derive from the System.Web.UI.WebControls.WebParts.WebPart class.
Web Parts Page Development
Regular Web pages may use Web Parts. Visual Studio includes support for creating pages to host WebPart controls. Developing a WebPart page involves introducing a WebPartManager to the page, specifying a number of zones on the page, and then populating them with WebPart controls.
Web Parts Application Development
Finally, you may develop entire applications out of WebPart controls. For example, you may decide to build a portal. WebPart controls enable you to write personalized pages that are customizable. Web Parts are also ideal for building a commonly used application (such as sharing records or documentation) and shipping it as a unit so it can be deployed on another company's Web site wholesale.