Он нужен токо для начальной реализации или в принципе полезен,если да,то в каких моментах?
для работой с коллекцией однотипных объектов, например. к примеру нужно реализовать поочередную загрузку модулей в игре, все эти модули можно сделать реализующими интерфейс с методом Loading и bool InProgress. при загрузке просто через форыч перечесляешь элементы интерфейса и ставишь задержку, пока флаг нужного компонента не станет "выполнен".