Básicamente, cada vez que tiene una unidad de trabajo que es sensible a cambios externos o necesita la capacidad de revertir cada cambio , si se produce un error o por algún otro motivo.
Busque aquí algunas respuestas excelentes y sus razones para usarlas .