An application variable in Cold Fusion is kept exclusively in RAM. I haven't looked into this is ASP, so it may be kept in a text file, but it is in memory in Cold Fusion.
Besides all of the documentation on Allaire's Web site about where application variables actually reside, I can prove this point to you by loading 5 megs of data into the application scope and watching the memory allocation grow by 5 megs.
Application variables are specific to applications as well. For instance, if I have two copies of the same app running into two subdirectories on the same server (for different comapnies, perhaps) the applciation variables for each are available only for that application.
In terms of performance, this is a major advantage for many of the apps I have worked on. The need for a unified DB API is greatly reduced, in that I have entire tables in memory as arrays that can be accessed far more quickly by their position than by going to the DB. Queries run much faster, pages take less time to generate, and the load on the server never reaches a critical stage.
The other variable scope that is not present in PHP that is very useful is the client scope, which probably sounds a lot like session but persists between sessions. These variables are stored either in the registry or a DB, but they are available in RAM after a user returns to the site. Major time saver.
Maybe I am the only one to think this, but I would really like to see this kind of functionality in PHP.