Hold off is also useful for triggering on the first train of a repetitive pulse train (eg. RS-232 with a single repeating character, you set the hold-off delay so that all bits but the first are skipped).
Single is mainly useful if you have a scope camera connected on a scope without storage. On a (digital) storage scope, it allows you to register non-repeating phenomena like power-up/down behavior.
Delay allows you to insert a certain delay between triggering and start of acquisition (the part you see on the screen). This is useful for 'zooming in' on a certain part of the signal, for example, to inspect individual bits in the pulse train example. Set time base so that one bit fits on screen, and use delay to see bits after the first one. It can also be used to make more accurate time measurements, the delay knob (in combination with the faster time base) is usually more accurate than using the graticule.
The Tektronix appnote
The XYZs of oscilloscopes might be a good read, especially if you have trouble with terms like 'sweep'. It explains most basic concepts.