Quando alguém precisaria criar um adiado?

Parece que geralmente a criação de objetos adiados é geralmente desencorajada em favor do uso do construtor Promise no estilo ES6. Existe uma situação em que seria necessário (ou melhor, de alguma forma) usar um diferido?

Por exemplo, emesta página, o exemplo a seguir é fornecido como justificativa para o uso de um adiado:

function delay(ms) {
    var deferred = Promise.pending();
    setTimeout(function(){
        deferred.resolve();
    }, ms);
    return deferred.promise;
}

No entanto, isso pode ser feito da mesma forma com o construtor Promise:

function delay(ms) {
    return new Promise(function(resolve, reject){
        setTimeout(function(){
            resolve();
        }, ms);
    });
}

questionAnswers(2)

yourAnswerToTheQuestion