From my understanding it depends on context. Most witnesses will just run on the block itself, they are simply adding new data to it.
Hard to say how the steemit website functions, they might push the chain into a database so it can be indexed and queried.
I know one witness runs a live SQL image of the block, SteemSQL. But I think that is more for others to use, it is not used to run a site.
The chain is actually complex with a lot of different interactions so depending how far back you look, running over the block is probably just as fast. That might change as user count increases because the activity will be far higher and more to scan.