Triggers are used to manually start a job. They are very similar to resources, the only difference being that updating a resource in the YML will not start the dependent job(s), but a updating a trigger will.
You could also achieve this by triggering through UI, but this is for those who like to do it with code.
They are typically used in these cases
- A manual CI build
- User driven Release Management process
- Scale the service up or down