Колега, аз също имах твоите терзания. Честно казано за мен ООП също беше мъгла. След доста четене и опити установих, че е много улесняващо да поддържаш система създадена с ООП. Преимуществата са огромни и не се дерзай а започни да пишеш и сам за себе си ще осъзнаеш колко удобно е. С времето и навика просто ще забравиш за чистото процедурно писане. Това е като да имаш пишеща машина и компютър един до друг. И на двете можеш да набереш текст но на компютъра е по-удобно и можете с колегите да направите редакция в движение, докато на пишещата машина става по-трудно. ООП е стил на работа и помага много в проектирането на дадена система. Класовете не ги интересува от къде са извикани стига да се отговарят на условията. Това ги прави независими и означава, че работата по проекта може да бъде разхвърляна към няколко програмиста. Подрежда се кода и подръжката става лесна. В клас User няма да търсиш метод с името setCarColor($color) просто защото се предполага, че въпросният метод с така поставеното му наименование, ще се отнася за друг клас с името Car. Поради тази причина и дебъгването е по-удобно. Да създават се и несгоди но има и Шаблони за дизайн, които решават конкретни проблеми. Не се съмнявай а започни да пишеш и с писането сам ще стигнеш до изводите, че процедурното писане в чистата си форма не е лошо, но обединено с обектният модел става изключително мощен инструмент с преизползване на кода без излишното му повтаряне.