The recursive formula fib(n) = fib(n-1) + fib(n-2) spawns two recursive calls per level. This creates a binary tree of calls with 2^n nodes.
fib(30) makes over 1 million calls. fib(40) makes over 1 billion. The tree grows exponentially.
Memoization reduces this to O(n) by caching results. Without it, exponential blowup kills performance.