Сергей Салтанович, Очевидно это вы не поняли того что вам пытаются объяснить. Что бы понять зачем, вам нужно понять чем они отличаются. И раз вы задаете такой вопрос, то вы очевидно не знаете.
loonny, я уже разобрался, prototype это свойства функции-конструктора, благодаря которому происходит наследование в __proto__ при операторе new. Он для этого только и нужен, чтобы указывать на объект прототипа. Хоть через new obj записывать в prototype, что просто через литерал {}, без разницы.