E' l'equivalente C++ del puntatore di puntatore del C (pippo** p)
E' una tecnica che risulta comoda abbastanza spesso.
Un esempio comune sono le liste concatenate. Se per esempio crei una funzione che inserisce un elemento in testa alla lista passerai come parametro un puntatore al puntatore che punta al primo elemento della lista (scusa il gioco di parole :P)e la funzione farà la modifica tramite tale pointer.
Chiaro che tale risultato lo puoi ottenere anche restituendo il nuovo elemento come valore di ritorno...ma pensa al caso in cui la tua funzione ha già un valore di ritorno (che so un booleano x dire se la modifica ha avuto o meno successo)
In effetti è un pò macchinoso, ma appena inizi a capire il meccanismo vedrai che è molto utile