O pacote main/java, serve pra você guardar os fontes principais do seu sistema, e o test, como o próprio nome diz, serve pra você fazer os seus testes unitários, ao executar o maven, ele já verifica se há algum erro nessa pasta de testes.
Mas por exemplo: se eu estiver importando algo do jUnit em uma determinada classe, é melhor que ela esteja no pacote de teste ou é obrigatório pra não dar problema na hora da compilação?