output() is the auto generated named accessor for one of the outputs (of course, there's only one), like Add.z. It's based on the tensorflow api_def proto. The main use is there's a few ops that have multiple outputs and thus don't extend Operand, like RequantizationRangePerChannel, and they need some way to access the outputs.
asOutput() converts the Operand to an Output (which is the op name and output index) so it can be used as input to another op. It's generated (w/ the Operand superinterface) for ops with one output.
The Operand ops probably don't need the output accessors too, but since it's generated it was probably easier to just leave them in there. Plus that way it matches the proto.