Wi-Fi is a radio conversation between your device and the router. When that conversation is clear, data moves quickly. When it is noisy, the two sides have to repeat themselves, and every repeat costs time. That is why slow Wi-Fi usually feels like a delay before anything happens rather than a steady trickle.
Distance is the biggest factor. Radio signals lose strength as they pass through walls, floors and furniture, and metal or dense masonry absorb far more than plasterboard. A device two rooms away may still show a connection while running at a fraction of the speed available next to the router.
The second factor is sharing. Everyone on the network shares the same connection to the internet, and every nearby network shares the same airspace. In a block of flats, dozens of routers may be competing on the same channels. Add an evening where several devices stream at once, and the available speed for each one drops sharply.
Finally, slowness is not always the network at all. When the system that translates website names into addresses is slow to respond, pages take seconds to start loading even though the connection itself is fast. This is why a page can appear frozen and then load all at once.