Recursion Keeping track of function calls Evaluation of expressions Reversing characters Servicing hardware interrupts Solving combinatorial problems using backtracking.