ООП существует для организации структуры кода.
Типичный пример использования замыканий в js - передача параметров в callback асинхронной функции:
for (var i = 0; i < arr.length; i++) {
(function(i) {
// asyncFunction(i);
})(i);
}
Без замыкания каждому значиню i будет передано arr.length (последние значение i после выполнения цикла)