A study of ReRecuRecursion

What is recursion?
In short: Recursion is a pattern of programming where you use a function or method that progressively processes a task by calling itself directly, indirectly, or circularly.
Where would I use recursion?
Recursion is most often used in traversal of tree and graph data structures, in sorting and divide-and-conquer-algorithms, fractal generation, backtracking algorithms, and memoization optimizations.
Resources
Recursion in Programming - Full Course (1 hour, 51 min)
Khan Academy: Recursion - Lower Bar of Entry
Recursion (article) | Recursive algorithms | Khan Academy
Learn for free about math, art, computer programming, economics, physics, chemistry, biology, medicine, finance, history, and more. Khan Academy is a nonprofit with the mission of providing a free, world-class education for anyone, anywhere.

Advanced, but nice tutorial.
Introduction to Recursion - Data Structure and Algorithm Tutorials - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
