Qual é a vantagem de usar uma função sobre loops?

Parece que os iteradores funcionais estão substituindo o uso de loops no JS.

qual é a vantagem de passar uma função como mapear ou reduzir em comparação com um loop for / while?

var numbers = [1, 4, 9];
var doubles = numbers.map(function(num) {
  return num * 2;
});

var doubles = [];
for (i = 0; i < numbers.length; i++) { 
    doubles[i] = numbers[i] * 2;
}

questionAnswers(0)

yourAnswerToTheQuestion