For example, if you wrote an ActiveX module to perform database operations it would have to send a request to the server for each and every line of a database (this assumes the server supported this). This could become very time-consuming and it could use a lot of bandwidth. In addition, ActiveX only works well in Internet Explorer, which limits your audience.
ASP solves this (and many other) issues by doing all of the work on the server. You just write some ASP code in your HTML document to do the tasks you need. Before the HTML document is transmitted to the client the ASP script is executed.
Thus, the ASP code would get the database records and be converted to the appropriate HTML code to display properly in the user’s browser. Since all of the work is done on the server before the browser even gets the page, it is much more efficient. And you do not need any browser-specific modules or extensions to do any of this! Thus, it makes your site more “browser-independent” (assuming your ASP code did not create pages with these extensions embedded within them).
Sound pretty good? It’s actually quite cool to be able to create a web site using ASP. Once you get over the hurdle of learning a new programming language with it’s own design quirks (and the usual “Microsoft-isms”) you will find yourself doing some amazing things.
Of course, to do this your site must be hosted on a server which supports ASP pages. Very few (I don’t know of any) free hosts and not very many paid-hosts will allow you to use ASP as it requires more support and there are many issues associated with it. Hosts do exist which allow ASP, but in my experience they tend to be a bit more expensive. The easiest way to use ASP is to host your own server, which is a whole different can of worms.