Mi spiego con un esempio

Poniamo che ho una tabella utenti con due campi id username, con 2 record
codice:
+-----------------+
+  id   | username +
+-----------------+
     2    piero.mac  
     4    oly1982
poi ho una tabella profilo_utenti con tre campi id, id_user (relazionato con la tabella utenti), email, con 1 record
codice:
+---------------------------------------+
+ id   |   id_user   |           email  +
+---------------------------------------+
    2               4       oly1982@dominio.it
Un bel giorno decido di eliminare tutti gli utenti della tabella utenti. dovrei cancellare anche i profili... ma non lo faccio... è un esempio...
Se faccio il TRUNCATE della tabella utenti l'id ripartirà da 1 e il 4° record inserito si troverà relazionato con il record della tabella profilo che prima del TRUNCATE era relazionato all'utente oly1982.
Se invece avessi fatto un DELETE ciò non si sarebbe verificato dato che l'id non sarebbe stato resettato e, quindi, il caso sopra esposto non si sarebbe verificato.

Analogo problema si presenta nel caso in cui "inavvertitamente" cercassi di fare l'UPDATE di un id della tabella utenti. Ma se l'id è PRIMARY KEY tale query non può essere effettuata (per quel che pochissimo ne sò).