What is the point of Buffers like this in Programmers?
First, there's no need to assume anything. It's extremely easy to find a datasheet for this sort of part.

The schematic clearly shows the CTL signal going to the output enable inputs of the part. The signal must be low to allow the buffer to operate. When enabled, a low on the input produces a low on the output, and a high on the input produces a high on the output.

Generally, a bus buffer like the 74AC125 is used for improving drive capability. Some micros cannot source high current from their digital outputs, and need a buffer to effectively drive their loads.

Buffers can also be used for logic level shifting - your micro may be a 3.3V part, and your external logic may need 5V logic levels. A buffer takes care of this translation for you - the buffer can be powered from the higher rail, so that a 3.3V H input becomes a 5V H output.

A buffer also protects the digital output lines of the micro from external 'badness' (short circuits) - even though most micros do protect their I/O lines, it's much easier replacing a buffer IC than it is to replace and reprogram a micro.

In terms of delays, the buffer isn't like a memory buffer in the computing realm - it doesn't inherently store data so that it can be transmitted more slowly. It does introduce a propagation delay, so the output signal is delayed in time compared with the input signal (but at the same data rate) - a phase delay instead of a baud rate reduction, so to speak.