Hola:
Pues es cierto que con return false no se envía el formulario al usar un botón del tipo submit, pero con eso la semántica "tambalea..."
Un botón submit es para el envío de datos, y los tipo button son genéricos, y no se deberían cancelar los envíos salvo por alguna validación... además de la semántica, ahorras código, o sea con botones submit, estás obligado a cancelar el envío, y con botones genéricos no... en resúmen botón submit + cancelar envío = botón genérico... el doble gasto de recursos para el mismo caso... sería bueno que estudiaras esto para el futuros.
(y no quiero aburrirte con la accesibilidad)
Saludos