Основная идея в том, чтобы использовать let по умолчанию для всех переменных которые не нужны за пределами блока. И const для всех констант.
Это поможет сделать код чище и избавит от странного, хоть и уже привычного поведения,
примеры которого есть на MDN, например.
Вы никогда не попадали в ситуацию, когда при использовании
for(var i = 0; ... )
оказывалось, что переменная i уже используется, и цикл работает не так как надо?
А c let работает!
https://jsfiddle.net/twebLy25/