ASP.NET is a .NET version of ASP (OK, obvious, right?) that is perhaps better described as ASP 2.0. Basically, where ASP.NET is a definite improvement over ASP, it has the same drawbacks.
ASP is generally slower than PHP, more difficult to write and maintain, runs only on Windows servers, and is closed source. Even with Mod_Mono, traditional ASP is only mostly supported. Complex applications will still require the full server to run.
A truly effective website based on the .NET technology requires the developer to know at least ASP.NET, VBScript.NET, and C#.NET. Knowing ADO.NET would be a plus for database work. Developing in ASP.NET is next to impossible without one of Microsoft's IDE's. There are third party ones, but there is no guarantee that they will be as up to date, or work 100%. I have, quite literally, seen a post on this forum where around 60 lines of ASP turned out to be a buggy implementation of htmlentities() in PHP. That alone should give you some idea of the difference in efficiency for web application development.
ASP has no built in functionality for image handling (GD is standard with PHP). The most common way of adding functionality to ASP is to BUY an add-on. For example, because it doesn't play easily with CSS, there is a wonderful software called RadControls which allows you to easily create a stylish and even AJAX-based interface. Like most ASP software, it is reasonably priced at $799. I know a developer who asked the company to buy that so that he could add some basic controls to a CMS he was writing. You know, like a calendar. And a drop-down menu. Also, of course, if memory serves me, he requested the $1299 version. I know another developer who spent around $300 on a "good" WYSIWYG editor that still gave more trouble than TinyMCE which I use for my projects.
Now, ASP.NET is a compiled language. It will perform faster on certain tasks because it does not have to be interpreted. Of course, this assumes a few things. a) you don't mind having to carefully compile individual DLL's and maintaining them in order to get the speed boost. b) you can't use a *nix machine which can perform faster using libraries and CGI.
It's really much easier to look at the advantages of PHP.
PHP is an open source, rapid development scripting language. For what it is, it is very fast, stable, and efficient. It has been designed with web development in mind, and contains many efficient functions and convenient characteristics in a default implementation. It works well with Apache or other even faster servers like Lightppd. There is a vibrant community around PHP, with plenty of code snippets available to help you on your way. It works well for use with AJAX and CSS. When written correctly, PHP can easily handle enterprise level websites. PHP interfaces well with other languages and databases. PHP has built-in standard support for things like image manipulation thanks to libraries like GD. With PHP5, there is a good object model, and object oriented code can be easy to maintain.
I love PHP, and the deal-breaker to me was needing an IDE (specifically, Visual Studio) to even be able to write ASP or ASP.NET. It's just that complex a language, that I was told by many (experts) on the ASP official forums that it was just downright silly to think of writing an ASP or ASP.NET site using just a text editor. I wrote a five-line PHP program and asked what it would take to write an equivalent in a text editor in ASP.NET. It wasn't pretty.
I was blatantly told: "Trying to develop .Net applications without the .Net framework even installed? Madness in a jar!".
Check out the whole thread here:
http://forums.asp.net/p/1446201/3289173.aspx#3289173