Concept of Head in A Neural Network (YoloV5)

I am trying to understand the concept of “head”
in yolov5/models/yolov5x.yaml, it would be great if you can explain it.

(1) How is it different from simply an output from a neural network?
(2) Does each head must have its corresponding labels so that we can compute losses? E.g. we I add a head to output class labels, I can use cross-entropy to train these addition classifier layers.
(3) If I add an additional head, it is simply just some additional layers on top of previous layers?

Thanks in advance!