Bombus,
У вас 6я строка отрабатывает каждые 0.1 секунды, а 8я еще ДО того момента, когда закончится первый интервал. Может так понятнее будет:
function printNumbersInterval20_100() {
var i = 1, point = 'start';
var timerId = setInterval(function() {
console.log(i + ' ' + point);
if (i == 20) clearInterval(timerId);
i++;
point = (point =='finish') ? 'start' : 'finish';
}, 100);
}
printNumbersInterval20_100();