Даже не знаю с чего начать вам сей увлекательный рассказ.
DELETE - инструкция, которая позволяет удалить одну, несколько или все строки из таблицы.
TRUNICATE - удаляет все данные из таблицы
Кроме того, DELETE позволяет использовать условия WHERE которых вы можете указать в каких случаях необходимо произвести удаления, а TRUNICATE вам этого сделать не позволит, WHERE в ней нет.
DELETE - медленнее, TRUNICATE - быстрее ( заметно будет при больших объёмах данных.
DELETE записывает в журнал транзакций каждое удаление
для DELETE требуются права на удаление, а TRUNICATE требует права на изменение таблицы ( ALTER TABLE)
вызов DELETE может активировать триггеры, а TRUNICATE нет ( читай про журнал транзакций)
DELETE блокирует удаляемую строку (строки) TRUNICATE - блокирует таблицу.
есть еще несколько различий, но они не столь существенные и лично я их даже не помню.