Genel olarak PHP ve ASP ile istediğin herşeyi yapabilirsin, yani "birinde olmayan özellik" pek yoktur. Fark daha çok onların sunduklarıyla ve kullanım şekliyle ilgilidir. ASP.net Visual Studio'nun olanaklarını kullanır, IDE, debugging vs. gibi. PHP için de Zend Stuido, PHP Studio gibi benzer toollar var. Pek çok insan PHP'yi notepad++ gibi bir text editörüyle kullanır ve bu rahatlığı ASP'de bulamadığından yakınır.
Bu arada ASP.net bir dil değildir, C++.net, C# veya VB.NET dillerinden birini kullanarak ASP web siteleri yapabilirsin. Daha çok bir platform gibi düşünebilirsin bunu. PHP ise bir dildir.
Eğer ekstra fonksiyonaliteye ihtiyaç duyarsan kullandığın dil/platform/web sunucu'dan bağımsız olarak CGI kullanabilirsin. Genel olarak bütün web sunucuların CGI desteği vardır.
Bunu basitçe şöyle düşünebilirsin, web sunucu bir command-line (dos) uygulaması çağrıyor, ona bazı parametreler geçiyor (kullanıcının girdiği bilgiler vs. gibi) uygulama bir şeyler yapıp çıktıyı web sunucuya veriyor. Bu çıktı da yine web browser'a gönderiliyor.
Bu CGI uygulaması herhangi bir dilden yazılabilir. O nedenle iş o noktaya gelirse asp ve php ile başlamış olman pek birşeyi değiştirmez.
Elbette bunu yapman hiç gerekmeyebilir bile, örneğin php'nin help dosyalarını incelerseniz, ihtiyaç duyabileceğin neredeyse her konu için library'ler sunuyor.
Bu aşamada hangisiyle kendini daha rahat hissedeğin daha önemli bence.