A texture pack is a zip file that contains .png files which minecraft's java file will read and can be toggled ingame as a skin for blocks, mobs, items and more. Official support for 16×16 texture packs was added in Alpha 1.2.2. Patchers were introduced to support "HD" texture packs or texture packs of different size's from the normal 16x16. This allowed the player to include there own style to the game.
Here are some photos of before and after texture packs!
Here is a Photo of after a texture pack has been added to the game. Notice the Different blocks, they are the same blocks as before but they have just been re-skinned
Here is a photo of minecraft before the texture pack, as you can see the grass is the defult texture and so would be every other block. To some player this texture may be dull or boring so notch enabled the chance to be able to change texture packs without having to edit the ingame files.
By downloading a texture pack, a player can implement it by going onto there minecraft and the "Texture Pack" button on the main menu. Once pressed they can press the "Open texture pack folder" Button and a new window will appear. drag and drop the new downloaded .zip texture pack into this folder and reload the texture menu. You will now see an new option on the menu which the player can select to change there default texture. Your game might freeze for a while your game is making changed to the game. After it has resumed you can cancel the menu and go onto a singleplayer world or even a multiplayer world, allowing you to edit anything ingame.