Recursion is a technique where a function calls itself repeatedly until a base case is reached. It works by having a function call itself and pass simpler versions of the original problem until the base case is reached. The document provides examples of using recursion to find the sum of natural numbers, calculate factorials, and find the greatest common divisor of two numbers. While recursion can simplify solutions, it uses more stack space and processor time compared to iterative approaches.