Checkpoints are essential in SQL Server to help with the durability and reliability of data persisted in the database. When done right, you barely even notice them and performance is groovy. Sadly, checkpoints can be a symptom of a problem and poor performance.