Sens jest i to ogromny. Inaczej by tego nie wymyślono i nikt by tak nie programował. Pewnych rzeczy po prostu nie zrobisz strukturalnie.
Wiedźmin 3 strukturalnie: If find potwór: include walka_system & potwór_functions -> If potwór big: licze_obrażenia('anakonda') -> if dostałem: licze_moj_armor('ze skóry niedzwiedzia)
no i miej tu teraz osobne reguły dla każdego potwora , okoliczności, zbroi i innych

Na początku - oczywiście, że jest łatwiej na proceduralnym, ale z czasem wraz ze wzrostem umiejętności i doświadczenia programisty ta różnica się zaciera, nie ma w sumie łatwiejsze / trudniejsze. Jest lepsze / gorsze i już po prostu boli Cię kiedy musisz napisać coś linijka po linijce

Powiem Ci, że miałem kiedyś podobne wątpliwości / pytania co ty:
Po co tego używać w ogóle
po co pchać coś w klasę skoro teoretycznie można to samo wrzucić w funkcje
po co sobie komplikować
i inne tego typu.
Praktycznie wszędzie tam gdzie widziałem klasę, myślałem sobie przecież szybciej będzie jeśli zrobię to proceduralnie.
Wynikało to z tego, że własnie niedokładnie rozumiałem ideę obiektowości, a klas używałem w sumie trochę na wyrost.
Przede wszystkim musisz zmienić myślenie z proceduralnego na obiektowy

.
Wiadomo łatwo mówić, ale chyba jedynym sposobem, żeby to się stało jest po prostu programowanie i próbowanie robienia czegoś w OOP. Lepsze zrozumienie przyjdzie Ci z czasem. Musisz dalej ćwiczyć i programować w OOP a programowanie w ten sposób stanie się przyjemne i będzie coraz bardziej logiczne.
Napisanie kilku funkcji w jednym pliku to nie to samo co klasa. Nie możesz traktować klasy jako zbiornika dla różnego rodzaju funkcji (np popularne library.php czy inne functions.inc)
Bo wtedy to faktycznie niczym się to nie różni a dodatkowo trzeba (zazwyczaj) tworzyć instancję i wywoływać funkcje z dodatkowym operatorem i nazwą instancji.
Fakt wtedy to się wydaje zbędne i komplikujące sprawę. I tak to pamiętam właśnie.
Marnujesz wtedy jedynie potencjał jaki daje Ci OOP. Kup se piwo, otwórz, ale nie wypijaj - niech se stoi. Chyba wystarczająco przekonywujące

Klasa to pewnego rodzaju opis problemu, dziedziny (obiektu), którą się zajmujemy, ale w języku programowania.
W klasie opisujesz za pomocą logicznie dobranych metod i pól to co będziesz chciał później zrobić z jej obiektem. Następnie operujesz na tych właściwościach w celu pobrania/zmiany tych danych.
I teoretycznie możesz to robić w dowolnym miejscu dowolną ilość razy.
Samochód masz zielony, 5 osobowy, masz klakson, drzewko zapachowe i szyberdach. Szyberdach możesz otworzyć, drzewko wymienić, kolor może być ładny lub brzydki -> kwestia gustu np dziewczyny, która też jest obiektem , a autem możesz jeździć - jeśli masz prawko. Spoko - w strukturalnym też by tak można było opisać samochód. Ale z takim obiektem możesz zrobić różne rzeczy w poniedziałek, wtorek,... piątek, w Polsce i Niemczech. Czyli gdzie chcesz i kiedy chcesz na różne sposoby.
Służy Ci do czegoś więcej niż tylko do jeżdżenia na zakupy w środę po drzewko bananowe.
W strukturalnym taki samochód byłby smutny ponieważ jeździłby tylko w określone dni na określone kursy Ponieważ tak postanowił zły strukturalny Stary, który pozwala użyć samochodu IF nie wrócisz za późno.
Masz po prostu lepsze wykorzystanie kodu.
(ps .co do powyższego przykładu. Tylko nie mów nigdy dziewczynie, że jest obiektem klasy sexy

. Spowoduje to wykonanie metody $pussy->wetControl('getDry') no i return false

)
Aby móc coś zrobić z tym obiektem tworzysz jego instancję. Czy to w trakcie dodawania użytkownika czy wybierania rekordu z artykułem, czy zapisu czegoś do bazy -> w zależności do czego masz klasę i co potrzebujesz.
Następnie za pomocą wcześniej zdefiniowanych "rzeczy" operujesz na nim w określony sposób. Do dyspozycji dostajesz konkretne dane, na których możesz robić konkretne rzeczy. A nie gdzieś tam coś tam z d|_|py.
Masz to w klasie MojaKlasaDoCzegośTam w odpowiednim folderze, a nie w linijce 397 zaraz po IF, który sprawdzi coś tam a następnie dokona walidacji czy ciąg nie jest czasem pusty następnie przerobi twój ciąg w taki i taki sposób , żeby potem w linijce 425 wstawić coś do bazy
Dzięki temu kod jest bardziej przejrzysty , wszystko ma swoje miejsce jest logiczne wytłumaczenie i odseparowane. Dodatkowo łatwiej zajmować się rozwiązywaniem problemów i rozwijać aplikację. Aplikacja OOP jest po prostu lepsza*. Obiekty są/mogą być ze sobą ściśle powiązane i współdziałają ze sobą.
Korzystasz z nich w wygodny sposób, a kod masz czytelny.
OOP To wcale nie jest utrudnianie sobie życia, wręcz przeciwnie. Spróbuj sobie wyobrazić dużą aplikacje typu forum gdzie wszystko jest napisane jedno pod drugim i rozbite na ileś tam includów. Weź coś tam przerabiaj - np zmień name dla inputa i zmieniaj wszystko x 20 i to pewnie w kilku plikach. A najpierw to ogarnij..
Mimo iż w proceduralnym również można po kombinacjach wyodrębnić sobie Model Widok i Kontroler to dalej ciężko będzie połapać się w kodzie kiedy wrócisz do niego za kilka miesięcy i zechcesz coś zmienić / ulepszyć / poprawić. (ps. nie twierdzę, że MVC jest "wymogiem/standardem" w OOP)
*Wiadomo, że w przypadku gdy potrzebujesz tylko switch case coś: include coś i ewentualnie wyświetl datę to może być czasem przerost formy nad treścią aby robić to OOP.
Im więcej operacji, zadań, obliczeń, powiązań tym lepiej zacznie się sprawdzać OOP.
Zalety, które z czasem dostrzeżesz:
1. Lepsza organizacja i wykorzystanie kodu
2. Łatwiej i szybciej będziesz ulepszał swoją aplikację
3. dodatkowe mechanizmy takie jak: dziedziczenie, hermetyzacja, polimorfizm, interfejsy, autoload i inne <- które są naprawdę pomocne
4. wygoda
5. raz napisane klasy - skrócenie czasu pracy + wykorzystasz sobie je w przyszłości. A kopiuj tu teraz i wycinaj co potrzeba ze strukturalnego i zmieniaj co trzecią linijkę w zależności od projektu
I co do innego pytania: tak- dobry programista programuję OOP. Co nie znaczy, że jeśli raz na jakiś czas zrobi coś proceduralnie traci lvl

W sumie jak tak to czytam to nie wiem czy wytłumaczyłem Ci sens. Chyba lepiej by było dać jakieś przykłady.. Chodziło mi głównie o to, żeby wykazać Ci przewagę OOP, żebyś to zaakceptował i przyjął do wiadomości. Więc nie porzucaj tego stylu tylko ćwicz ćwicz.
Słowa kluczowe: po prostu, następnie, w sumie,