Many mechanisms of colloid retention in porous media under unfavorable conditions have been identified from experiments or theory, such as attachment at surface heterogeneities, wedging at grain to grain contacts, retention via secondary energy minimum association in zones of low flow drag, and straining in pore throats too small to pass.However, no previously published model is capable of representing all of these mechanisms of colloid retention. In this work, we demonstrate that incorporation of surface heterogeneity into our hemispheres-in-cell model yields all experimentally observed non-straining retention mechanisms in porous media under unfavorable conditions. We also demonstrate that the predominance of any given retention mechanism depends on the coupled colloid-collectorflow interactions that are governed by parameters such as the size and spatial frequency of heterogeneous attractive domains, colloid size, and solution ionic strength. The force/torque balance-simulated retention is shown to decrease gradually with decreasing solution ionic strength, in agreement with experimental observations. This gradual decrease stands in sharp contrast to predictions from mean field theory that does not account for discrete surface heterogeneity.