An output is an element of a bitcoin transaction. If you have 1 bitcoin input in your wallet and you wanted to send 1 bitcoin, you would broadcast your transaction with 1 input and 1 output.
Difficulty target is telling a miner how low of a hash they need to produce in order for a block to be accepted by the network.
Hashing is a process that gives us a unique output depending on the input we have. (These inputs and outputs have nothing to do with the input and the output element of the transaction.)
Difficulty target and Hashing are not the same thing, but are closely connected to each other in the Bitcoin network. With the heap of each other we can ensure that blocks will be found on average every 10 minutes. If more people start mining the difficulty target will go down, making it harder to mine and vice versa.