Su profesor tenía razón:debe nombrar las columnas explícitamente antes de nombrar los valores.
En este caso, los valores se insertarán en el orden en que aparecen en la definición de la tabla.
El problema con esto es que si ese orden cambia, o si se eliminan o agregan columnas (incluso si son anulables), la inserción se interrumpirá.
En cuanto a su utilidad, no tanto en el código de producción. Si está codificando a mano una inserción rápida, entonces podría ayudarlo a ahorrarse el escribir todos los nombres de las columnas.