Iteration uses loops; recursion uses self-calls. They are equally powerful (anything you can do with one you can do with the other), but they differ in clarity and cost.
Side by side
python
():
total =
i (, n + ):
total += i
total
():
n == :
n + sum_rec(n - )
