Why oh why does this happen?
This is called wicking. What is wicking? The act of moving moisture by capillary action from the inside to the surface (the free dictionary). So what does this mean to you? Or me?
So, your carpet is dirty (so is mine). Actually dirtier than you think. Way down deep, maybe even through the backing. Once the carpet is steam cleaned the dirt in the carpet fibers has been removed but the carpet remains somewhat damp. As air flows across the top of the carpet, water molecules are pulled from the top of the carpet so the water is carried off. so the carpet is only drying from the tips of the carpet this causes the rest of the water to “wick” up since the water molecules move from the wetter areas down low to the drier areas at the top of the carpet.
The issue is when water molecules begin to be pulled to the top they tend to bring with them the dirt that was left down deep in the carpet or that was in the backing of the carpet itself. What you end up with is dry carpet that has the dirt back in place this is why carpet look great right after a cleaning but the spot reappears hours or even days later.