Bom, é muito raro usar recursidade. Geralmente voce nao vai precisar dela. Antes de mais nada, lembre-se: tudo que da para fazer com recursividade é possivel fazer sem ela.
Por ser incomum, é meio complicado achar algum exemplo. Um caso onde usei foi o seguinte:
Tenho uma tabela de cadastro de categorias. Cada categoria tem um id proprio e um id “pai”. Uma categoria de nivel mais alto tem como id pai o numero 0. Cada categoria pode ter ilimitadas subcategorias, que por sua vez podem ter outras categorias e subcategorias.
Entao eu precisava mostrar as categorias em forma de ‘arvore’ ( como a listagem de diretorios na barra da esquerda no windows explorer ). Ou seja:
Categoria 1
Sub categoria
Outra sub
Sub da sub
Sub da sub sub
Mais uma sub
mais uma
mais outra
Categoria 2
Categoria 3
aaaa
bbbb
bbbb1
bbbb2
Categoria 4
eeee
ttttt
dddd
ggggg
oooo
e assim por diante. O algoritmo eh assim: pego todas as categorias com id pai = 0. Assim tenho todas as de nivel mais alto. Entao, em um for(), pego o id de cada categoria “principal” e verifico se existe alguma categoria que tenha como id pai o id da categoria que estou processando no nomento. Se alguma for encontrada, repito o mesmo processo para a nova categoria encontrada. Ou seja, sempre preciso checar se ha mais subniveis e a quem eles estao relacionados.
A parte recursiva eh essa de verificar se existe alguma categoria onde o id pai seja o id da categoria processada no momento. O codigo original eh meio grande, entao vou colocar aqui um pseudo-codigo apenas para exemplificar. Sao 2 metodos: um inicial, que eh a entrada, e outro, que eh o recursivo.
metodo Principal
* Pegar todos as categorias com id_pai = 0
* Fazer loop de 0 ate o total de categorias encontradas
* Pegar o id da categoria atual
* chamar metodo Recursivo passando o id da categoria atual
fim metodo
metodo Recursivo
* Pegar as categorias com id igual ao id passado como parametro
* Se encontrar resultados
* Fazer loop de 0 ate o total de resultados encontrados
* Pegar o id da categoria atual
* chamar metodo Recursivo com o id da categoria atual
* fim Se
fim metodo
Note que dentro do metodo “Recursivo” eu chamo ele mesmo quantas vezes forem necesarias para processas os “n” niveis se subcategorias.
Recursividade, como voce disse, eh meio complicado, e muito pouco usado. Nao se preocupe se nao entender de cara, pois eu tambem nao entendi no inicio 
Rafael