What is the difference between standard DML statements such as insert and Database class methods such as Database.insert, and when would you use each?