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