leads to `RecursionError` 2. **Base case that's never reached** -- recursive step doesn't make the problem smaller 3. **Tree recursion without memoization** -- exponential time (Fibonacci is the classic example) 4. **Using recursion when iteration is simpler** -- e.g., summing 1 to n