Replace Loops Using Recursion Clarification

I think that this thread is the best so far at explaining what is happening here. A few different people have chimed in with how they explain recursion.