Because rendering an ASP.NET Web form is broken down into small, manageable chunks, arbitrarily extending the framework by adding new controls is a straightforward affair. Server-side controls offer very fine-grained control over the HTML rendered by your application.