Во первых принцип OOP нужен когда вы хотите как перфекционист разложить все по полочкам, во вторых когда в проекте больше одной-двух сущностей и их экземпляров
Например, сервис вопросов и ответов
questions (hasMany answers)
answers (belongsTo question)
likes (belongsTo answer)
comments (belongsTo answer)
Чтобы не плодить повторяющийся код, создается модель (шаблон) с помощью которой можно создавать необходимое количество экземпляров. Во всех фреймворках есть логика для связей между этими экземплярами по принципу hasMany/belongsTo
Еще есть понятия интерфейсов, абстракций и описание их работы в сервис-провайдерах (это надо гуглить, смотреть примеры).
Таким образом мы структурируем код и данные с которыми работает код. И это все must have, если ты хочешь показать свой скилл