Iterador e um gerador em Javascript?

Na página da Mozillaiteradores e geradores existe uma declaração:

Embora os iteradores personalizados sejam uma ferramenta útil, sua criação requer uma programação cuidadosa devido à necessidade de manter explicitamente seu estado interno. Os geradores oferecem uma alternativa poderosa: permitem definir um algoritmo iterativo, escrevendo uma única função que pode manter seu próprio estado.

Com relação à explicação acima, não é possível escrever um algoritmo iterativo sem Generators, como:

Array[Symbol.iterator] = function(){
    return {
        next: function(){
            //logic
            return {
                value: "",
                done:false
            }
        }
    }
}

Não consigo mexer na minha cabeça. Alguém poderia explicar qual é a principal razão pela qual eles criaram uma alternativa, não parece muito diferente para mim.

questionAnswers(2)

yourAnswerToTheQuestion