passando l'hash alla funzione come parametro passi un solo argomento invece di molti argomenti
puoi estenderlo senza cambiare il numero di parametri per la funzione

i due esempi che hai fatto tu non sono equivalenti: nel secondo caso devi passare tramite un'istanza perché non puoi accedere staticamente ad oggetto.key

codice:
oggetto1 = { 
  key: 'val1' 
}

function oggetto2() {
   this.key = 'val2';
}

alert(oggetto1.key); // val1
alert(oggetto2.key); // undefined

o2 = new oggetto2()
alert (o2.key);         // val2