В чем принципиальная разница между вложенными циклами и рекурсией?
Для сферической задачи в вакууме и идеальной платформы - разницы никакой. Все задачи, которые можно решить иттеративно(циклом) можно реализовать рекурсивно. На практике все немного иначе. Как правило все уткнется в то как реализуюется рекурсия на конкретной платформе. К примеру если на каждом вызове в стек кладется указатель на функцию, которую надо вызывать рекурсивно - то есть риск что стек переполнится и вызовет исключение ДО того как рекурсия начнет раскручиваться. Для программиста важнее знать когда алгоритм рекурсивно выглядит красивее и прозрачнее чем итеративно. К примеру вычисление факториала по определению рекурсивно. Решать итеративно можно, но алгоритм не будет впрямую ложится на определение факториала.
Память при рекурсии она постоянно увеличивается!