Хорошее объяснение по этой ссылке
Как я понимаю, если у вас есть контроль транзакций, можно удалить и DELETE, и TRUNCATE.
Разница в том, что без транзакции, если вы делаете УДАЛЕНИЕ, вы все равно можете восстановить свои данные, например, путем восстановления журнала, что вы не можете сделать на TRUNCATE, потому что удаление будет записываться построчно. Строка и усечение, как указывал @JNK, минимально регистрируются.