It's a very useful tool, basically activated when a train crosses it. The trigger operates or sends out a signal which other assets can detect to carry out other actions. An inexhaustive list of the uses I've found for triggers:
Activating sound clips
Activating and deactivating level crossing gates
Controlling other AI trains
Controlling signals and switches
Controlling session variables
They are usually used in conjunction with WaitForTrigger commands.
It is also possible to modify a trackside asset to act as a trigger.