Evaluate ASP vs. Cold Fusion
A thorough evaluation of both products proved them both to be quite capable, making the choice difficult. However, in the end CF got the nod. A comparison of the salient features of either product follows:

Feature ASP w/ IIS 3.0 Cold Fusion 4.0 Comments
Syntax script-based, developer friendly; supports VB syntax. tag-based, html author friendly. Supports JS style scripting as well. ASP has support for multiple, extensible scripting languages. CF's tag syntax is simpler and easier
DB connectivity Database connectivity through ADO COM object - ODBC Database connectivity through tags - ODBC, Native drivers, OLE DB, ADO COM objects, etc. the CF DB tags are somewhat easier to use than ASP ADO objects.
Data manipulation direct, through ADO objects implicit, through tag usage ASP's recordset objects instead of tag parameter is more flexible, powerful
Architecture ISAPI filter ISAPI, WSAPI, NSAPI filters and Apache Modules both products run as ISAPI filters in IIS's address space for excellent performance and integration with IIS. CF also runs on the other 'standard' servers.
Extendibility Server components can be created in any tool that produces COM objects (OLE servers), like VB, VC++, etc. extension tags can be produced using the CF language itself, or C++ API, any COM objects usable in ASP can also be used here. CF 4 adds in CORBA functionality as well. Java Class usage added through outside tag. CF wins, it can use any ASP components, plus you can write your own tags
Pre-built functionality VB library functions and Server objects, components function library and Server objects both have excellent support here
Application framework dynamic, using server side objects and event programming dynamic and/or static, using an automatically included application file ASP's model is event based, whereas CF's is include based, but both are capable of the same things
State Management dynamic, using a temporary cookie to identify a server side object with configurable expiration static across user sessions, using a permanent cookie with storage in the Windows registry/database, or dynamic just like ASP's CF will do state management just like ASP, or it can preserve state across browser sessions making it more flexible.
Debugging error message sent to browser upon runtime errors, or not. On/Off switch, no customization. configurable debugging information (including SQL debugging info) sent to browser upon runtime errors, can be restricted to certain IP addresses CF has by far the better debugging
Error Handling Default error screens are ugly, roll your own if you don't like them. You can trap and handle errors in script, although the process is ugly and limited. Allows specification of a default error handling HTML template, into which error information is plugged, much easier to display consistent and complete error information. Ability to trap errors in script and take conditional action. CF has much better support for customizable error messages.
Web Server Support IIS only, possibly others w/ non-MS add-ons (like ChileASP) any CGI compliant web server, a number of servers using native APIs (ISAPI, NSAPI, WSAPI, etc) CF wins hands down
Maturity rough around the edges polished, 4.0 product CF has been around longer and is more polished, complete, and easy to use product; but ASP has made huge strides quickly