I was just wondering if anyone could explain recursion in a way that even remotely makes sense. I understand the concept of a function calling itself and have copied some simple code (The traditional factorial finder) that works, however, I have no idea why it works. I'm not looking for an essay, just a short explanation (or link) that explains exactly what is happening step-by-step.