With Net Labels, all three connect globally in flat designs. Semantically speaking -- take your pick.
I typically use OSC in flat designs, as a clearer visual indication that the net will be seen on other sheets.
The most common visual language when using labels, is a stub of wire sticking out, with the label on that. Basically as a OSC but the label is on the wire instead of extending from it, and there's no arrow or eye-catching coloring.
Of course, this style is not required, so, you are still forced to stare at a stack of hay sheets, matching up net names, in case they might be used this way after all. It's unfortunately easy to [mis]use net labels this way.
As mentioned, ports connect in the same way in a flat project, so are just a different visual language. Personally, I prefer them to indicate hierarchical sheet connections. Hence I use OSC when flat, and ports when hierarchical.
Note that, unless specified in project options, power ports are still global, so behave the way nets/OSCs do in a flat design. If you select strict, you need to carry power through every sheet symbol, something of a PITA, but can be worth the trouble.
Tim