The Nintendo 64 had some glaring weaknesses that were caused by a combination of oversight on the part of the hardware designers, limitations on 3D technology of the time, and manufacturing capabilities. One major flaw was the limited texture cache of 4 KiB.
This made it extremely difficult to load anything but small textures into the rendering engine, especially textures with high color depth, and was the primary cause of blurry graphics. The small texture limitation caused blurring because developers would stretch these small textures cover a surface and then the console's bilinear filtering would blur them even more.
To make matters worse, because of how the renderer was designed, if mipmapping was used the texture cache was effectively halved to 2 KiB. To put this in perspective, this cache could be quickly filled with even small textures (a 64×64 4-bit/pixel (bpp) texture is 2 KiB and a 128×64 4 bpp texture is 4 KiB). Modern video cards and consoles (2006) frequently deal with 1024 x 1024 8 bpp and larger textures, and have a more flexible texture cache (not always larger).
Towards the end of Nintendo 64's lifetime, creative developers managed to use tricks such as multi-layered texturing and heavily-clamped small texture pieces to simulate larger textures. Conker's Bad Fur Day is possibly the best example of this ingenuity. Games would often also use plain colored Gouraud shading instead of texturing on some surfaces, especially in games with themes not targeting realism (e.g. Super Mario 64).