All these depends on how we use it and how readable the schematic should be.
Normally, netlabels are used in the same sheet, while ports are used to connect between two wires in different sheets. The scope and hierarchy of ports and netlabels can be set in project->Project options->options->net Identifier scope
Harness serves a different purpose. Normally i dont use harnesses. Altium defines harnesses to be used when we have to define a bunch of wires (including buses and individual wires) as a single module.
Hope its clear now.