A Haunting TSQL Tuesday Tale

If you truncate a table, you cannot undo the action like you can with a delete.  What is the difference between the two methods to remove data from a table?