Quel return 1 serve a indicare al chiamante che hai trovato la foglia, e che perciò bisogna annullare il puntatore che puntava ad essa (vedi ramo else).
Ovviamente anche nel main ci sarà qualcosa del tipo:
if(foglia(albero))
albero=NULL;
In modo da non incorrere nell'errore quando l'albero è formato solo da un nodo.
ciao