To be honest I've never understood recursion. To me it had always been a black box and during my career I was always leaning forward more complex structures over simple recursion approach. Sometimes it makes sense not to use recursion in your code (usually due to performance reasons), but what could be more elegant than tree traversal algorithm using recursive approach?
If you are having the issue with understanding recursion, give a try to The Little Schemer book.
No setup needed. Just create an account in Repl.it and do all practice tasks from the book in your browser.
It is never late for learning and there is no such thing as useless knowledge.