When a user transaction is committed (either explicitly using a COMMIT statement, or implicitly), SQL Server writes all changes from the Log Cache out to the log files on disk. This process is termed a log flush. The user that issued the commit must wait until the log flush is complete before they can continue. If the log flush takes a long time, this will degrade the user's response time.
Even though log transaction is an automatic process, this process can be delayed as a result of several factors, such as long running transaction, a data backup taking place, or if no checkpoint took place since the last log truncation.