JavaScript, sólo del lado del cliente. PHP puedes manejar muchas más cosas y ejecutandose en el servidor... Bases de Datos, etc..
Pero claro, antes de manejar PHP, CGIs o ASP debes conocer bien HTML y JavaScript, pues estos complementan a los otros.
En definitiva, cada uno tiene un cometido y los objetivos de los dos son distintos.