Cita: No se aplica en todos los casos (Ej. confiar la validación de datos en el cliente).
En temas de seguridad es otra historia, sobre todo validacion. Siempre lo tienes que hacer del lado de servidor.
Pero mucha gente comete el error de hacerlo solo del lado de servidor. Lo mejor es hacerlo de cliente y luego de servidor.
Por ejem: Si el usuario se equivoca y en vez de meter 4 caracteres a su password pone 3, para que necesitamos recargar la web. Se hace con JS. Y en el caso de que dicho usuario tenga el JS desactivado ya tendra que validar el servidor sin mas remedio.
Hay cosas que no se puede hacer en JS. Como saber si el email introducido esta repetido. O si el nick elegido tmb esta repetido... Para todo lo demas JS