Зачем нужен ООП?
Не везде и не всегда нужны классы. Вы верно заметили. НО! Прежде чем принять решение о том, что в конкретном месте кода класс только вредит, нужен профайлер или другие инструменты позволяющие принять такое решение. К примеру в Python словарь значительно выигрывает по скорости чем класс с методами.
Фишка ООП в том, что человек уже думает классами! Поднимаем голову к небу и видим "Птица летит", другими словами "У объекта "Птица" был вызван метод "Лететь"", но мы так сложно не думаем и для нас это просто "Летящая  птица".
Вспомните детство и моменты когда родители посылали за хлебом. Как это происходило? Возможно это было так: "Объект сын в твое поле ложу объект "Задача" с полями "хлеб", "комод" и "100 рублей", в поле "результат" ложу "Хлеб". Объект сын вызываю метод "Купить"". Не думаю что это было так, мне кажется это было так: "Сын возьми 100 рублей и купи хлеба". В неявном виде обратились к объекту "Сын", вызвали метод "Взять" и передали аргумент "100 рублей" и ожидаем результат вызова в виде значения "Хлеб".
Попробуйте процедурный подход переложить в нашу естественную жизнь? ;) Попробуйте так общаться, процедурно. Это очень сложно. Потому что человек привык думать объектами! Самолет, кошка, лошадь, дерево и др. Для нас вроде есть концепция "кошка", но конкретная кошка "Масяня" сильно отличается от другой конкретной кошки "Машка".
Изучая задачу мы прежде всего должны задать вопрос : "Что является условием завершения задачи?" и вторым не менее важным "Что используется при достижении результата?". Вот это "что используется" как правило и есть объекты.
Вот вы говорите, что пользуетесь уже готовыми классами для решения каких-то задач... Прекрасно! А теперь попробуйте реализовать такую же функциональность, но без использования классов (и вообще ООП, т.к. это не только классы на самом то деле), а потом сравните код, который у вас получился с первичной ООП реализацией. Сравнивайте с точки зрения удобства использования, лёгкости сопровождения и восприятия другими разработчиками. Ещё можете сравнить с точки зрения тестирования и простоты добавления нового функционала.
Думаю, что сразу поймёте зачем нужен ООП.
PS 
Хотя, тут возможен вариант, что вы ещё не сталкивались с задачами, которые необходимо (ок, удобно) решать с использованием ООП... Так заодно и столкнётесь)