Two ways to answer "what colour is this pixel?"
Rasterisation vs ray tracing
The same scene, rendered twice. A rasteriser loops over objects and asks which pixels each one covers; a ray tracer loops over pixels and asks what each one can see. That difference in direction is why one of them can follow light around the scene and the other cannot.
With workarounds on, the rasteriser gets a projected shadow and a static environment reflection — the tricks real engines used for twenty years. Look closely: the reflection shows a sky that is not in this scene, and the spheres do not appear in each other.
The rasteriser's inner loop has a triangle and a pixel in hand and nothing else. To know whether a light reaches this point it would have to consult the rest of the scene, which is not available. The ray tracer's inner loop can query the whole scene at any moment, so asking "is anything between here and the light?" costs one more function call.