beh tanto per iniziare ASP=Microsoft, PHP=Open source.
I siti con ASP costano di più proprio perchè le tecnologie mS si pagano, mentre invece gli host che offrono PHP+MySQL sono in stragrande maggioranza nel rapporto 10 a 1 rispetto ad ASP direi...proprio perchè è tutto open source e quindi gratuito!
PHP ha ormai raggiunto una notevole maturità ed è ormai il più diffuso linguaggio di scripting, dato che lo puoi usare su qualunque hardware (PC, Apple, Linux, Solaris, ecc) mentre ASP/ASP NET è solo riservato a server Microsoft che costano l'occhio della testa.
Per imparare PHP basta scaricare d installare uno dei tanti web server disponibili come XAMPP o WAMP o il solo Linux, per imparare ASP/ASP NET devi avere XP Pro o Vista Home Premiun/Ultimate.
Come vedi quindi è molto più conveniente la triade Apache-PHP-MySQL (io sono un libero professionista che vivo su web applications viluppate coi suddetti sia perchè li ritengo migliori sia per problemi di budget, mentre se dovessi metetre su una rete con PC Microsoft..), ASP NET se vuoi diventare il programmatore di una grande società come la Microsoft, non senz aprima aver preso la certificazione apposita che costa migliaia di euro...