Timers are a common requirement for business processes. The most common functionality is around doing something if someone doesn't respond to a task fast enough. That something might be reassigning the task or sending a nasty email to the assignee's boss. Another use might be to purposefully postpone all or part of a process until a specific day and time occurs.
Timers have been a part of jBPM for quite some time, but weren't enabled in Alfresco until release 2.1. In 2.1, timers had to be on task nodes. The ability for a timer to be added to other node types was added in 2.2 Enterprise.
Timers get set on a node either using the create-timer tag or via the timer tag. When a timer expires, the process can take a transition, execute a script, or call an action.