A recursive method shuould have at least two properties:
1.the base cases
2.rules that reduce all other cases toward the base case
It is useful to deal with a complex problem with countless cases. We can just simplify the complex cases into the easiest one by repeating the same method, just like peeling onions.
Another example of recursion in reality is that we put two mirrors face to face, and put a candle in the middle of them, then we can see countless candles in mirrors. It can be regarded as a recursion.
As for the Python we are learning, the Tower of Hanoi is a good example to understand.
On one hand, recursion can help us solve many complex problem, on the other hand, it is some kind of inefficient, for each process, it calls itself many times, so that it have much data to deal with until get the final result.
Anyway, from what we are learning now, recursion can be said as one of the most practical method.