Mental Model
Recursion solves problems by breaking them into smaller copies of themselves, while iteration repeats steps using loops. Each works best depending on problem size and clarity.
Analogy: Imagine climbing stairs: recursion is like asking a friend to climb one step and then call another friend to climb the next, while iteration is you climbing step by step yourself in a loop.
Recursion: main() -> func() -> func() -> func() -> base case Iteration: start -> loop -> loop -> loop -> end
