Oi Arquimedes,
pode ser que eu escreva bobagem, mas lá vai: basicamente, você pode ter inúmeros elementos com o mesmo atributo name no seu formulário, mas o id só pode aparecer uma única vez.
Sendo assim, a diferença é a seguinte: você usa name quando o atributo pode se repetir no formulário (pense num relacionamento pai/filho), e id quando não.
Pro controlador, no entanto, não faz tanta diferença assim pelo que pude ver até agora.
Acabei de perceber uma funcionalidade para a propriedade id no javaScript para mascaramento, por exemplo, dos input!
<!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
Era o que eu ia perguntar ante sde ler a resposta do senhor Kiko
Então, acredito que name e id diferem mais no tratamento via javascript. Mas ainda não entendi se difere alguma coisa no controler. Não sei se bom usar somente qual deles no tratamento via grails
A diferença fundamental é a seguinte: id é usado quando o nome é usado uma única vez, e name quando pode ser usado mais de uma vez.
Sendo assim, no controlador se houver apenas uma ocorrência de name não faz diferença alguma. Porém, havendo mais de uma, o controlador receberá uma matriz na qual cada item corresponde à ordem em que o dado estava no formulário.
Já se fossem multiplos ids, se não me engano voce receberia apenas um valor.