Movement is a characteristic of every object we render. While the object itself might not move, it does change position as the viewpoint changes. And obviously, a texture placed on an object moves as the object itself moves. And this is further complicated by other considerations. What if we are looking at the object at an angle, such as a floor? The floor can extend out over a great distance, and in doing this it gets smaller with distance (to simulate depth). In order for a texture to fit this, it must therefore be resized. Unfortunately when resizing takes place a swimming effect may occur, which is a form of aliasing. Another issue arises when the texel(s) you are sampling from becomes larger than the pixel you are writing to. This occurs when a texture extends over a great distance, introducing additional aliasing. Consider these two examples:
Thus mip-mapping was introduced to alleviate these issues. Mip-mapping works by taking the original texture and generating it multiple times at different sizes. By doing this we are able to assign the correctly sized texture for the correct distance of the object to be textured. As an object moves towards you, a larger version of the texture is assigned, and as it moves away a smaller version is assigned. Mip-mapping therefore increases quality and reduces aliasing. Here are the same images as found above, only this time with mip-mapping enabled.
Note the difference in quality? This is especially noticeable in the second yellow image. Take note of how the numbers move into the distance and how they are not distorted as in the earlier image lacking mip-mapping.