AFAIU It is always possible to transform a recursive algorithm into an equivalent iterative one which stores intermediate state on the heap.
In some cases the recursive algorithm will be clearer, which makes maintenance easier (and reduces the chance of security relevant bugs). In some cases the iterative algorithm will be faster (particularly if your programming language or compiler suck)