Prima di tutto, toglimi la curiosità ... perché posti nella sezione .NET un problema di C/C++ ?
Comunque, i puntatori sono gli indirizzi in memoria dei dati. Sono croce e dolore di ogni programmatore C/C++ in quanto il loro uso permette di fare molto ma il loro "cattivo" uso pone molti problemi.
Sono utilissimi per rappresentare strutture dinamiche all'interno della memoria, quando non si sa prima quanto siano i dati da trattare. Non so se tu sai già cosa siano le "liste" ma se devi costruirne una, legando un nodo all'altro, non puoi fare a meno dei puntatori. E a maggior ragione per altre strutture più complesse, come i grafi ...
Comincia a dare un'occhiata a
http://it.wikipedia.org/wiki/Puntatore_(programmazione)