First you need to know that return statement and backtracking are not related. They are altogether different concepts.
Eg. void main(){
…
…
return;
}
This return statement can be avoided here as it has no significance.
Now see void main(){
int x =10;
}
Even this function has no return statement, but after executing its body, function will automatically return.
For backtracking function should not call itself infinitely again and again.
It must stop somewhere calling itself again.
And to stop it, one don’t need return statement. Only make sure that the function should not be called again which happens in leaf node. Once whole body executed, it automatically returns