This forum doesn't have sufficient space to go into a full comparative discourse on all of the scripting languages you mention.
In brief, PHP coupled with MySQL is supported on the majority of web servers and is free for most applications and users which are just two of the many factors in their favour. I use them extensively now, and I hardly ever use ASP any more.
ASP pages with Access or MS SQL data sources require more expensive Windows web hosting and they have a long history in dynamic and data driven web applications. You can get another version of ASP, Chillisoft ASP by SUN, that runs on Unix/Linux web servers but you would be coding in ASP 2 specification rather than using the latest VBScript or JScript ASP. Again, I'm generalising here so don't jump all over me for the brevity of this answer.
Cold Fusion is drop dead easy to learn [in my opinion] but it is comparatively difficult to find suitable web hosting and expensive to buy. It works beautifully though and is well worth considering if you have the need for it.
There isn't anything I can think of off-hand that I can do in ASP that I can't do with PHP and the same goes for ColdFusion, up to a point. Don't take my word for ColdFusion though: I only dabble with it compared to my PHP and ASP work.
To give you a straight answer is almost impossible. There are certain tasks and applications where I would prefer to use one language over another. This could be influenced by a lot of different factors:
is there a current system I have to hook into ?
who will be running/developing my system in the future ?
does the client have web hosting already and if so what do they have ?
does the client require heavy Microsoft program interaction ?
did I get out of bed on the PHP or ASP side ?
Basically, you asked how long a piece of string is and I doubt you will ever get a full and satisfactory answer since there are just too many variables to take into account.