Зачем нужна рекурсия в реальных случаях?
Рекурсия нужна при обработке иерархических данных. Например - обойти файлы и каталоги 
в файловой системе и выполнить какое-то действие. Или действие с условием. Например если
в текущем фолдере есть фолдер .git - то выполнить какой-то git script.

Рекурсия может понадобиться при работе с документами XML/JSon (шаблон composer). И хотя
в некоторых API рекурсия может быть частично скрыта за языками XPath/JSonPath тем не меннее
ее рекурсивная природа остается налицо. Кроме того если вам достался узкий API типа DomDocument
без поисковых диалектов - то обойти его можно на любом ЯП с рекурсивной функцией.

Рекурсия нужна при парсинге сайтов. Это вобщем просто более расширенная трактовка работы с файловой 
системой. Если Url-s это как-бы файлы в web пространстве и они имеют ссылки друг на друга - то вы 
можете рекурсией это все обходить.

Рекурсия почти всегда нужна при работе с графами. Берите любой алгорим на теорию графов и я готов
спорить что 99% он будет содержать рекурсию.

Все настольные игры (шахматы-шашки) в основе своего алгоритма альфа-бета поиска с отсечениями и
BWF базируются на рекурсии.
Реальный проект парсинг любого магазина по вложенным категориям. 
Вы допустим предположите что разумная глубина 6 уровней, а этот маньяк что уровней должно быть 14