Interesting point, but let's not forget that for recursion, you sometimes get the advantage of memoization. Sure it eats up more memory with all that stack action, but for some problems like dynamic programming, being able to store and reuse previous results is gold. Fibonacci is obviously the textbook example. …