Diferença entre um construtor e um objeto

Eu definitivamente preciso de alguma luz sobre isso.

Qual a diferença entre:

var MY_APP = function(){
    this.firstMethod = function(){
       //something
    };
    this.secondMethod = function(){
       //something
    };
};

e

var MY_APP = {
    firstKey: function(){
       //something
    },
    secondKey: function(){
       //something
    }
};

além do fato óbvio de que um é uma função e o outro um objeto, quais são as diferenças no fluxo de código, protótipos, padrões ... qualquer que seja, e quando devemos usar o primeiro ou o segundo?

Estou tão espaçado nessa área que não tenho certeza se estou explicando corretamente a dúvida, mas mais informações podem ser fornecidas se você perguntar.

questionAnswers(4)

yourAnswerToTheQuestion