Das hängt ganz davon ab, da die Ergebnisse unterschiedlich sein können.
Beim skalaren Subselect darf nur 1 Satz und 1 Feld als Ergebnis rauskommen.
Beim Join darfs es eben auch 1:N-Beziehungen geben.

Wenn Zugriffspfade vorhanden sind, gibt es eigentlich keinen Unterschied.