Did you know that, like the Sega Saturn and Sony Playstation, and unlike the N64 and virtually every console since, the Sega Dreamcast did not have a Z-Buffer, nor did it need to do frustum culling? Nor did it do rasterization. Its graphics core behaves pretty much unlike any other console since or ever. It used what is called Deferred Tile-based rendering.
To understand the difference, you need to understand what rasterization works, and to understand that you need to know a bit about how 3D graphics primitives work. At their base level, 3D primitives are just groups of 3 to 4 points in space called vertices, which reside in memory. How these points are turned into graphics on screen depends on the implementation. Typically, this is through a process called rasterization, where each 3 or 4 points in memory is turned into a series of pixels to be held in memory. So each "polygon" has every single pixel that makes up said polygon calculated and residing in memory, even if 99% of those pixels are offscreen or behind other objects and thus will never be seen. This actually is an enormous waste of resources.
The way the Dreamcast's PowerVR2 core works is entirely different. When verticies are sent to VRAM from main ram, they undergo a process called binning where the PVR2's tile accelerator chops the screen up into square spaces. If a vertex resides in the area of one of those spaces, it is placed into a bin of similar vertexes. These screen-space tiles are always drawn in the same position on the screen regardless of vertices present. This is accomplished by a form of raycasting from the position of the camera to the spaces the tiles reside at using a fixed calculation that is translated around the screen. By raycasting out from the position of the camera, it ensures the only pixels ever created on the screen are for polygons that are in front, and visible on the screen. No extra pixels are ever drawn. This gives the dreamcast, essentially, infinite fill rate, and makes it punch way, way above its weight in terms of graphics.
To explain a bit better with pixtures, imagine the following screen space, with the following 3 vertices present:
For the purpose of this example, we divide the screen space up into 4 square bins. Rather than rendering the entire triangle at once through rasterization, it would instead be drawn in tiled steps like so:
To make this make a bit more sense, imagine we moved those vertices around so that only 1 square tile had visible pixels. In the end, this is all that would be rendered: