Luca_Brasi,
попробуйте посмотреть эту книгу:
http://www.wmate.ru/ebooks/book73.htmlВообще же, нет таких вещей, которые можно сделать только в ООП, и нельзя в процедурном программировании. Обратное тоже верно!
Если вы пишите с нуля, то вам никуда не уйти от написания одного и того же кода, только оформляться он будет по-разному.
По сути объекты и классы - это промежуточный слой, абстракции более высокого уровня, как уже сказал
Yukko.
Т.е. вы сами создаете "конструктор" из которого потом проще складывать "здание" вашей программы. Наибольшая выгода от ООП - повторное использование созданных ранее универсальных классов.
Сложность, как вы верно заметили, в их выделении (пользователь/его учетная запись/корзина).