What is ASP
Active Server Pages, also known as Classic ASP or ASP Classic, is Microsoft's first attempt to create a dynamic <HTML> page: a single Internet page that can provide different information depending on context, like the current user, the current date, a random mechanism, etc..
ASP is a server-side scripting language, which means the ASP code is run on the site's remote computer (the server), not on the user's computer (the client). Usually, the final product of ASP code is a regular HTML page, which is then sent back to the user like any other HTML page. The ability to build this page "on-the-fly" is what gives ASP its dynamic power.
ASP can be used in any number of ways, from the most simple (e.g. displaying the current date, choosing the page's background according to the hour) to the more complex (e.g. an online store with fully automated file download purchases).
Today, Classic ASP has given way to ASP.Net, which is Microsoft "next-generation" development environment for the Internet. ASP.Net is not an upgrade of ASP; it's a whole different scripting language, though its principals are the same as outlined here.
ASP hosting
Because both ASP and ASP.Net are server-side languages, it doesn't matter if your visitors can run ASP code; only the computer that hosts your site (your server) needs this ability. For that, you'll need to host your site on a Windows-NT server.
Make sure your provider specifically supports the version of ASP or ASP.Net you intend to use. Also, make sure your provider offers a reasonably-priced database option, since most dynamic web sites rely on one.
You'll find more about Windows hosting <here>.
Why ASP?
Though it requires the more expensive Windows hosting, ASP.Net has many advantages. It's designed to produce maximum effect with minimum code. It also has a powerful, visual development environment (MS Visual Studio), which simplifies many tasks.
For example, instead of manually writing the script for a button, Visual Studio allows you to drag-and-drop a button element onto your page, and later fill in the script that will be run when the user clicks it. The visual starting point often shaves hours or even weeks off the learning curve, and regularly saves much time and effort even for experienced programmers.
Other dynamic solutions
ASP and ASP.Net are not the only scripting languages that can generate <dynamic HTML>. Other options include <PHP>, <Perl>, <ColdFusion>, <TCL>, <Python>, and <JSP>.
