Без громких фраз, попробуем сравнить.
Редактирование. Никакой разницы, редактировать /etc/default/grub или /etc/grub.d/40_custom.
Конкретно по таймауту. В первый впишешь "GRUB_TIMEOUT=5", во второй "timeout=5". Во втором даже короче.
Возможности. В /etc/default/grub можно изменить некоторые переменные. Не факт, что они "сработают".
В /etc/grub.d/40_custom возможности безграничны. Например, в каждом подменю может быть свой таймаут.