I think the difference between Alert, Fortify, Sleep, and Skip Turn works like this:
Alert causes your unit to fortify, and remain fortified until the beginning of your next turn. Number of attacks, enemy sightings, etc. do not affect this. Note that alert can be used on some units that by definition cannot fortify (e.g. naval units and cavalry); in those cases it just means that the unit will sleep until approached by an enemy unit. Awakened units do not lose accumulated fortification bonuses unless upgraded, moved, ordered to attack, or ordered to skip a turn.
Fortify causes your unit to fortify and enter sleep mode indefinitely. The unit will not awaken at all until activated by the player. Wakening the unit does not remove fortification bonuses until the unit is ordered to move, attack, upgrade, or skip a turn.
Sleep causes the unit to enter sleep mode indefinitely without fortifying. It works identically to Fortify, except that no fortification bonus is applied to the unit.
Skip Turn causes the unit to stay in place without entering sleep mode or fortifying. The unit will be alert at the start of your next turn.
Note that Alert, Fortify, Sleep and Skip Turn can all be canceled before the end of the player's turn.