Рекурсия в JavaScript

Изучаю javascript, дошел до темы рекурсия, немного не понимаю для чего используется, и как собственно оно выглядит?

Рекурсия в js выглядит так же как и во всех других языках программирования, говоря простым языком это зацикливание, когда например есть функция которая должна добится какого то результата, и достигает его небольшими шагами, затем проверяя не достигнут ли результат, и когда результат достигнут просто возвращать результат или же прервать выполнение функции, вот примеры таких функций:

function power(x, n) {
if (n != 1) {
return x * power(x, n - 1);
} else {
return x;
}
}

alert( power(3, 2) );

var
i = 0;

function
recursion(n) {
if (n==i){
console.
log("Закончили ")
}
else
{
i
;
console.log("recursion number: " i);
recursion(n);
}
}

recursion(15);

Первая функция помогает получить степень определенного числа, мы возводим число в степень передавая два аргумента, первое это число которое следует возвести в степень, а второе это степень в которую нужно возвести число, оно постоянно каждый раз уменьшается, до тех пор пока не будет равно единице.

Вторая функция просто рекурсивно выводит сообщение в консоль, до 15 выводов, указывая какой раз прокручивается рекурсия.