The texture picker allows you to select a texture to apply to an object (among other things) - assuming the object is modifyable for you. If not, then you will not be able to do anything with this window.
The large square will display the current texture for the object. If the objects has multiples textures, then the box will display this (in text). This warns you so that you do not inadvertently change textures you did not intend to change.
Below this is the size of the currently displayed texture, in pixels.
The Default button will apply the standard plywood texture (shown in the image to the right).
The Blank button will apply a blank white texture.
Transparent applies the standard transparent (invisible) texture.
None Removes the texture entirely. This is not used on objects, but it is useful, for example, to remove a profile picture, or the image associated with a parcel.
The Apply now checkbox will immediately apply any changed texture to the object, so that you may preview it.
On the right side are two radio buttons: Inventory and Local. These allow you to use etxtures from your inventory, or directly from your hard drive.
The folder list shows your inventory folders, and the textures they contain. You can use this to select a new texture to apply. Another way of selecting a texture is to drag it from your inventory window into the large box at the top left.
A third way to select a texture is to use the dropper icon, which is below the large texture square. You can then click on any texture on any in-world object and, providing that you have that texture in your inventory, it will be used by the texture picker. This is a very handy and rapid way of selecting textures while building.
Once you have finished, Click Ok to apply any changes made, or Cancel to revert to the original texture.
In this view, you can access a list of textures (images) that are on your hard drive. This allows you to preview how a texture will look, prior to uploading it. It is an alternative to using temporary uploads.
NOTE: An applied local texture will be visible only to you, and only until you relog. You can get around others not seeing local textures by uploading the image to a picture sharing site (eg, Dropbox, Photobucket, Flickr, Imgur, etc) and then using media on a prim to display it in-world. You can also work on beta grid, where uploads do not affect your SL L$ balance.
This view has a few buttons, and below that, a list of the textures you have already added.
Some use scripted systems to apply temp textures for testing, such as on various mesh body parts, but since a local texture doesn't shown in inventory, you can't get the UUID to add to the script. Solution: Surprisingly, llGetTexture can actually get a UUID for the local texture when it is applied to a prim, and llSetTexture can apply it.