Why is SQL Truncate faster than Delete

I have heard that truncate is faster than Delete query in SQL, but many often say you should be careful while using Truncate. Can anyone suggest, when to use Truncate and when to use Delete