Hola, yo prefiero las validaciones en el lado del servidor, para que así la página enviada al cliente sea más sencilla y compatible, y si como ya han dicho el cliente tuviera desactivado JavaScript pues evitar sorpresas. Pero también se podría tener en cuenta, en proyectos muy grandes y muy usados simultáneamente, que en esos casos JavaScript ayudaría al servidor a liberarle de algo de tarea, al no tener él que comprobar si el formulario está correctamente rellenado.
Considero que depende del tipo de clientes que vaya a tener el formulario, así como de la carga de la página y las ganas de saltarse las comprobaciones que el vivisante pueda tener. Hace poco me pasó que tras rellenar un formulario, lo validaba con PHP y si pulsaba el botón "Atrás" para modificar lo que estuviese mal rellenado, me aparecían todos los campos de nuevo vacíos

jeje, pero actualmente sigo dudando un poco de si validarlo con PHP, JavaScript o los dos, aunque como se trata de un formulario que rellenarán personas ya identifacadas en la página y bien indicado... quizás sólo valide por el lado del servidor y listo.
Un saludo