The N64 had a set of built-in fullscreen filters that are known as "VI filters".
These include a de-dithering filter and an anti-aliasing filter. These two in particular, combined with N64's low resolution are what cause most of the blurring. And 90-95% of N64 games had those enabled with no way to disable them in-game.
Some games had those disabled like DOOM 64 while some others had an option to do so, such as Quake. In most other games you can still disable them via game shark cheat codes.
Here is the ON/OFF difference:
Filtering is nice and all but only when the resolution is high enough. Which is why the higher resolution games and modes didn't look nearly as blurry, even with the filters.
The N64 also does texture filtering, that also adds to the overall blurriness because the textures themselves are also low resolution, even more so than the average PS1 or Saturn game. Lastly, the video output of the N64 wasn't as good as the PS1 or Saturn and you could only do S-Video at best. This only adds a very small amount of blurriness but because you already have all those other factors it adds up.
Basically, the N64 was too low resolution for anti-aliasing and it's individual textures are too low resolution for filtering. IMO, at least the fullscreen VI filters should have been optional in all games, with an option to turn them OFF like the pictures above. Most people would prefer that and you even gain an extra couple fps of performance this way.
The Dreamcast has a higher internal resolution output and uses higher resolution textures that can handle filtering and also has one of the most crisp video outputs compared to even later consoles.