One thing to consider is the fact that any additional landing does reduce the max allowable flight duty time by 30 minutes. So a diversion does not only cost time by the very simple fact of landing somewhere else, it also reduces the time the crew has to complete their original aim. And since discretion is based on the max allowable flight duty time, it is affected by that as well. Depending on the roster flown before the event it can easily mean that the extra landing to pick up passengers is simply impossible. And if the reason for that is out of the control of the airlines (meaning not compensation to be paid) airlines are nowadays very fast in simply canceling the flight and protect the next day’s schedule.