Here is a practical example of when recursion is helpful. The assignment was to create a grid of colored blocks, where if one of the blocks is clicked, all of the blocks of that color that is connected to the original one turn to black. Blocks that are a different color than the one originally clicked on and blocks of the same colors that aren't connected to the first block shouldn't be affected.
Chrome and Firefox supported