The way I see it, if two features to be labeled are too close to one another, then there are essentially three options. By default QGIS will omit one of the labels. If I enable the “show all labels” property, either for the layer in question or for the global labeling settings, then it will print overlapping labels.
Unless I have assigned data columns to store label positions, then I can resolve the conflict by moving one of the labels to a better position.
My problem is that I consider neither omitted labels nor overlapping labels an adequate solution. Is there a way to systematically iterate over all conflicting labels, giving me a chance to manually resolve those conflicts by moving one of the labels, or perhaps by hiding one of them?
As the placement seems to depend on scale and map extent, this might be specific to a given map in the print composer, I guess.