As far as I know, TTL output is always sinking.
Why use TTL input/outputs? To work with TTL level signals which are incompatible with typical PLC DC inputs.
For instance, now discontinued Omron barcode reader sensor V500something had Match/No Match TTL outputs.