Коротко. DROP — удаляет, TRUNCATE — очищает.
Команда DROP удаляет таблицу из базы данных целиком, вместе со структурой. То есть после выполнения такой команды обратитья к удаленной таблице, например с помощью SELECT, будет уже нельзя.
В свою очередь
команда TRUNCATE удаляет не саму таблицу, а данные, которые эта таблица содержит. TRUNCATE, из-за невозможности использования условий удаления строк через WHERE и отсутствия связанной с этим необходимости сканирования таблицы, является более быстрым аналогом DELETE. Таким образом использование команды TRUNCATE оправдывает себя при необходимости очистить от данных таблицы, содержащие большое (десятки и сотни тысяч) количество строк.