More accurate mechanisms resemble small alarm clocks. The chief advantage is that they require little battery/electrical power, and can be stored for long periods of time. The most widely-known application is to control explosives.
Another type of electromechanical timer (a cam timer) uses a small synchronous AC motor turning a cam against a comb of switch contacts. The AC motor is turned at an accurate rate by the alternating current, which power companies carefully regulate. Gears slow this motor down to the desired rate, and turn the cam. The most common application of this timer now is in washers, driers and dishwashers. This type of timer often has a friction clutch between the gear train and the cam, so that the cam can be turned to reset the time.
Electromechanical timers survive in these applications because mechanical switch contacts are still less expensive than the semiconductor devices needed to control powerful lights, motors and heaters.
In the past these electromechanical timers were often combined with electrical relays to create electro-mechanical controllers. Electromechanical timers reached a high state of development in the 1950s and 60s because of their extensive use in aerospace and weapons systems. Programmable electromechanical timers controlled launch sequence events in early rockets and ballistic missiles.
Digital timers can achieve higher precision than mechanical timers because they are quartz clocks with special electronics. Integrated circuits have made digital logic so inexpensive that an electronic digital timer is now less expensive than many mechanical and electromechanical timers. Individual timers are implemented as a simple single-chip computer system, similar to a watch. Watch technology is used in these devices.
However, most timers are now implemented in software. Modern controllers use a programmable logic controller rather than a box full of electromechanical parts. The logic is usually designed as if it were relays, using a special computer language called ladder logic. In PLCs, timers are usually simulated by the software built into the controller. Each timer is just an entry in a table maintained by the software.
Digital timers can also be used in safety device such as a Gas Timer.
Another common form of timer is a number that is compared to a counter. This is somewhat harder to program, but can be used to measure events or control motors (using a class D digital electronic amplifier to perform pulse width modulation).
Embedded systems often use a hardware timer to implement a list of software timers. Basically, the hardware timer is set to expire at the time of the next software timer of a list of software timers. The hardware timer's interrupt software handles the house-keeping of notifying the rest of the software, finding the next software timer to expire, and resetting the hardware timer to the next software timer's expiration.