Mental Model
Recursion solves problems by breaking them into smaller copies of the same problem, 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 you again for 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
