¿Por qué debería usar "aplicar"?

Este fragmento está cortado de Secrets of the JavaScript Ninja.

function log() {
    try {
        console.log.apply( console, arguments );
    } catch(e) {
        try {
            opera.postError.apply( opera, arguments );
        } catch(e){
            alert( Array.prototype.join.call( arguments, " " ) );
        }
    }
}

¿Por qué debería usar apply y cuál es la diferencia entreconsole.log.apply(console, arguments) yconsole.log(arguments)?

Respuestas a la pregunta(5)

Su respuesta a la pregunta