la diferencia es quien es el propietario o desarrollador de cada tecnologia, y tambien el lenguaje con q se implementa, pero basicamente sirven para lo mismo, si la intencion es decidir sobre una tecnologia en el servidor, lo mejor es considerar el hardware con q se trabaja, el webserver elegido, asi como la mano de obra para programar, o bien los conocimientos que se tengan actualmente en programacion para irse sobre la plataforma en la que puedas desarrollar mas rapido... si es para hacer un trabajo de escuela la comparativa, pues cosa de que visites
www.php.net,
www.microsoft.com y el site de java para sacar las caracteristicas de cada tecnologia.