Mental Model
Recursion solves problems by breaking them into smaller copies of themselves, while iteration repeats steps using loops. Each has strengths depending on the problem's nature.
Analogy: Think of recursion like a set of nested Russian dolls, where each doll holds a smaller one inside, and iteration like walking up stairs step by step without going back.
Recursion call stack: main -> func1 -> func2 -> func3 -> base case Iteration loop: start -> step1 -> step2 -> step3 -> end
