Mental Model
Recursion solves problems by breaking them into smaller copies of themselves, while iteration solves problems by repeating steps in a loop. Each has strengths depending on the problem's nature.
Analogy: Recursion is like a set of nested Russian dolls, where each doll contains a smaller one inside, and iteration is like walking around a circular track repeatedly until you finish your laps.
Recursion: main() -> func() -> func() -> func() -> base case Iteration: start -> loop -> loop -> loop -> end
