TRUNCATE is DDL command. It is used to delete all the rows from table. You can not use where clause with truncate. It also free up the space containing the table. Truncate is executed by taking table lock. You can not retrieve data even after rollback is performed, in case of truncate as it does not keep a copy while deleting the rows. Because of this it is fast.
DELETE is DML command. It is used to delete rows specified by where clause. If where clause is not used it will delete all the rows of table. Structure is maintained of the table. It doesn’t free up the space containing the table. Delete is executed by taking row level lock.
You can rollback the data, in case of delete as maintains a copy of deleted data in rollback space. Because of this delete is slower than truncate.
DROP is also a DDL command. It is used delete data as well as structure of the table. Even after rollback nothing can be retrieved. If a table is dropped, all the relationships with other tables will no longer be valid, the integrity constraints will be dropped, grant or access privileges on the table will also be dropped.