Никто и не спорит. Суть в том, что обычные циклы императивны и ими нужно управлять самостоятельно. Это лишняя фигня, отвлекающая внимание программиста
ну еще for of иногда пригождается. если хочешь перебрать объект, например for (let [key, value] of Object.entries(obj))