I have to respectfully disagree. The problems with recursion is typically people who don’t understand recursion.
A simple inspection of the current state of software will expose that recursive data structures are everywhere(webpages, abstract syntax trees, markup languages, AI, etc). To brush-off recursion is to brush-off a big chunk of the software industry.
When you step away from the introductory recursion examples, you’ll find a whole world of possibilities that includes elaborate solutions that embraces recursion and lambdas and closures.
I would consider that whole languages(OCaml, Haskell, Elm, PureScript, Scala, lisp(and derivatives), etc) prefer recursion over looping constructs.