Truth is, double job workers are usually caught because they're underperforming. But smart managers give employees the benefit of the doubt and don't go firing people at first signs of underperformance. If someone has a legitimate reason for falling behind for a while (maybe overleveled during hiring, maybe struggling with real life issues, etc.) then we work with them. If they have a manipulative/deceptive reason (working two jobs, avoiding work) then it's better off that we replace them with someone who cares.
If you think that a job is a simple matter of "do fixed pile of work every week", that's not how 95% of software jobs work. We rely on a 2-way communication with employees to establish what's reasonable, and if someone is manipulating us into lowering expectations (literally the title of this article) then they must go and be replaced with someone who cares.