als einen der wichtigsten Gründe kann ich dir nennen: Mit JS kann man bei einer sehr umfangreichen Site mit vielen Usern ne ganze Menge Serverlast sparen.
Das mag der einzige Grund sein. Ohne JavaScript funktioniert aber beim vorgenannten Beispiel das Formular überhaupt nicht mehr. Daher sollte man _nur_ die Validierung onsubmit (im Form Tag) ausführen
Womit Du Deinen ersten Satz bereits selbst wiederlegt hättest ;)
und eine Fallbackimplementierung serverseitig haben, die die Inhalte nochmals testet.
Um die Serverseitige überprüfung kommt man sowieso nicht herum, weil ich mir sonst den HTML-Code anschaue und dann mittels netcat oder mit anderen ähnlichen Methoden absichtlich falsche Daten abliefere.
Gruß, Bodo