...
However, these commands are job-specific and will be applied every time the job is called, limiting the extent to which the job can be reused.
Comparison
The implementation of return_codes is specified for a job chain node and is part of the job chain object. The implementation of return_codes is therefore independent of the job specified for a node and can be used more flexibly than next_state, error_state and add_order.
...