Затем же зачем и в любых других сферах разработки. Чтобы писать более сложный код с сохранением достаточной простоты его поддержки.
Конкретно вам на тех задачах что вы видели это может быть и не нужно. Зависит от того что вы делаете. Можно и без ооп и паттернов жить, если делать достаточно простые вещи.