Client-side languages like html, xml and so on... we all use inevitably and independently of the server-side language.
But of course i'll also vote for PHP as the most exciting programming language....

If you like JavaScript, you might find C# easy to learn, and that you could use for ASP.Net. I don't really think there is a BEST language, it's always something that's suited best for a particular task (like ASP.Net for running Microsoft apps). The thing is though, the more languages you know, the more rewarding it gets. and at the moment ASP.Net is the best paid option. Combining that with PHP and JS knowledge and you're cool ;)

PHP is easiest to start with, advanced PHP is not much easier as JSP.
By advanced PHP i mean following all best practices, finding most optimal solutions, building big systems that are easier to maintain (would most likely involve using MVC pattern design) and so on..

And for being best.. depends on what you are going to do. Both JSP and PHP have their upsides and downsides.

About ASP.net, C# and so on.. Its still about upsides and downsides. And different projects require different languages applied, as well as different patterns.
If you are going to make a project to interact with Microsoft Share Point server or BizTalk then you probably want to use ASP.net as its way better to do it using native API for those languages.
If you are going to interact with with some server side applications that are written with Java and expose some JAVA libraries, or just use JAVA libs -- stick to JSP (even thou it can be done with PHP as well, but i still do not think its perfect).

If you want to do something completely standalone, robust, easy to develop -- PHP is for you. Now don't think that PHP is for hobby or something, hell no -- its Enterprise level. All of the tasks i have mentioned above are possible to do with any of the languages. Its just a matter of your knowledge in them and evaluating pre-requisites for the project.