Texture mapping is a method of adding realism to a computer-generated graphic. An image (the texture) is added (mapped) to a simpler shape that is generated in the scene, like a decal pasted to a flat surface. This reduces the amount of computing needed to create the shapes and textures in the scene. For instance, a sphere may be generated and a face texture mapped, to remove the need for processing the shape of the nose and eyes.
As graphics cards become more powerful, in theory texture mapping becomes less necessary and 3D rendering becomes more commonplace. Practically, however, the trend has recently been towards larger and more varied texture images, together with increasingly sophisticated ways to combine multiple textures for different aspects of the same object. (This is more significant in realtime graphics, where the number of textures that may be displayed simultaneously is a function of the available graphics memory.)
A simple texture mapping can be coded simply taking the position of each pixel in the interested object and re-mapping it on the texture image using linear interpolation.
This algorithm actually works quite well, but can suffer from various problem when objects are small, or with odd angles of view. More sophisticated tecniques (mipmaps, bilinear filtering, trilinear filtering) have been, and probably more will be, developed to enhance the image quality.