No there is not a single general rule. Different recursive methods do different things so there is no way you can apply the same rule to all of them. Just as an example Factorial makes a single recursive call while Fibonacci makes 2 recursive calls. How is a single rule supposed to apply to those situations? About the only common thing ...
for your 1st Q. 'Could you explain what your current code does (no, I am not going to run it!)?' it's where type a phone number and I get the list of possible words for example when you enter "723" it returned 27 possible letter combinations that correspond to that prefix: RAE RBE RCE SAE SBE SCE .. ect and for ...