For this line it is just a minor nit, so that the returned objects are always the same and correspond to the JSDocs.

The idea of returning a Promise is so that the function that uses it can't call resolve or reject over the deferred object. But since you are already returning a rejected deferred, the state can't be changed so returning a promise won't change that. You can still use then, done, fail, an all those methods on a promise.