The document discusses recursion and compares it to iteration. It provides two examples of recursion - calculating the factorial of a number and quicksorting an array. Recursion involves a procedure calling itself, directly or indirectly. This results in activation records being stored on the stack. While recursion can make some problems more concise and natural to express, it also has potential disadvantages like inefficiency and increased memory usage compared to iteration.