I typed in Google:
how to choose between recursion and iteration

And there are too many contradictory statements about this:

Iteration is faster and more space-efficient than recursion.

Don’t know about this one

When should you choose a recursive algorithm over an iterative algorithm? In situations where the recursive algorithm is easier to design. Specifically, situations where a problem can be broken down into small repetitions of very similar problems.

This doen’t make sense to me. Iteration also can deal with small repetitions

Why to use recursion

Recursion adds clarity and (sometimes) reduces the time needed to write and debug code (but doesn’t necessarily reduce space requirements or speed of execution). Reduces time complexity. Performs better in solving problems based on tree structures.

Trees are some kind of graph if I am not mistaken… They are talking about DFS/BFS algorithms, when we are searching for some node in the tree?
Also not sure about ‘adds clarity’ part.

Generally, fixed length iterations are more effecient and easier to read than recursion, yes.

You really want recursion for problems that have a nested structure. The steamroller challenge is a good example. Problems with tree traversal are another good example.