It's hot enough the moment it comes out of the nozzle to stick to the other layer, for the most part. The fan on the nozzle should be controlled by gcode commands to turn on only when a thread is being pulled over empty air, aka bridging. By cooling it as it extrudes, it won't have a chance to droop, so you can span some fairly wide unsupported spaces.
Perimeters that are on the underside of slopes (overhangs) have a smaller area connected to the layer below, so there isn't much holding it in place against the force of the shrinking that happens when it cools. This causes the edges of overhangs to curl up as they are printed, and the nozzle often snags them after they've cooled. The fan freezes them in place before they have much chance to curl.
The place a fan can really make a difference is with small layers. If part of a print is tall and narrow, then it might only take a few seconds to print each layer. There isn't enough time for a layer to cool and harden before the next layer is printed on top of it, so it tends to squish and get pushed around. One solution is to slow down the speed so there is time for the layer to cool, or have something else on the bed getting printed at the same time. That can add a lot of time to the build. Having the fan turn on when a layer will take less than a minimum amount of time to print keeps the layers from getting squished around while keeping up the speed.
With ABS it is required that the fan be gcode controlled so it can be activated only when needed. Otherwise it cools the whole print too much and weakens the adhesion between layers.