Ну, char **argv
и динамически распределяемые двумерные зубчатые массивы вообще чертовски полезны.
Ссылка на указатель полезна всякий раз, когда вы хотите, чтобы вызываемый объект изменил указатель (а не то, чтоуказатель указывает на).Например, кто-то, кто динамически предоставляет память:
void feedMeSeymour(void *&p, int size) {
p = new char[size];
}