In a homogenous reactor (e.g. liquid fuel mixed with moderator), the neutron flux is relatively constant because there is a equal distribution of fuel and moderator particles. When you have a heterogeneous reactor (e.g. solid fuel pins surrounded by water), neutrons have a higher chance of slowing down without being resonance absorbed because they can bounce around in the moderator without worrying about hitting a fuel atom while in the resonance range. The fuel shields itself from the neutron flux due to its resonance absorption cross section and therefore there is a relatively lower neutron flux in the fuel pins compared to the moderator.
The self-shielding correction factor is the degree of this effect, which mainly depends on the geometry and composition of the reactor.