Disclaimer - все ниже написанное это мое понимание ООП, не факт что все это канонически верно ;), плюс я не спец в JS, но я постараюсь описать свое виденье применительно к нему. Проблема с ООП в том, что его не надо заучивать - его надо использовать и понять в процессе, после чего все станет простым и понятным. В инете полно объяснений на эту тему, не думаю, что мое будет чем-то лучше, но я все же попробую
ООП придумали для упрощения написания и понимания кода(особенно при командной разработке) и последующей его поддержки. Человек мыслит, воспринимает и запоминает информацию образами или объектами. У себя в голове мы можем сколько угодно "разговаривать", но, когда надо думать быстро, мы не используем слова, а мыслеобразы. До ООП активно использовалось императивное/процедурное программирование, но они хороши когда кодовая база маленькая и код пишет один человек (C/Pascal/Assembler/etc). Когда стало понятно, что код программ начинает превышать разумные пределы которыми человек может оперироват