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 the problem's shape and size.
Analogy: Think of recursion like a set of nested Russian dolls, where each doll holds a smaller one inside, and iteration like walking around a track repeatedly until you finish your laps.
Recursion: main() -> call1() -> call2() -> base_case Iteration: start -> loop -> loop -> loop -> end
