As diferenças estão documentadas em detalhes em a cron(8) manpage no Debian. A principal diferença é que /etc/cron.d é preenchido com arquivos separados, enquanto crontab gerencia um arquivo por usuário; Assim, é mais fácil gerenciar o conteúdo de /etc/cron.d usando scripts (para instalação e atualizações automatizadas) e mais fácil gerenciar crontab usando um editor (para usuários finais, na verdade).
Outras diferenças importantes são que nem todas as distribuições suportam /etc/cron.d e que os arquivos em /etc/cron.d têm que atender a um determinado número de requisitos (além de serem trabalhos cron válidos): eles devem ser de propriedade root e devem estar em conformidade às convenções de nomenclatura de run-parts '( sem pontos , apenas letras, dígitos, sublinhados e hífens).
Se você estiver pensando em usar /etc/cron.d , normalmente vale a pena considerar uma das /etc/cron.hourly , /etc/cron.daily , /etc/cron.weekly ou /etc/cron.monthly .