Seu professor estava certo - você deve nomear as colunas explicitamente antes de nomear os valores.
Neste caso, porém, os valores serão inseridos na ordem em que aparecem na definição da tabela.
O problema com isso é que, se essa ordem for alterada ou as colunas forem removidas ou adicionadas (mesmo que sejam anuláveis), a inserção será interrompida.
Em termos de utilidade, não tanto no código de produção. Se você estiver codificando manualmente uma inserção rápida, isso pode ajudar a economizar digitando todos os nomes das colunas.