How do I Texture paint with Realistic Textures?
If you don't want to paint with a solid colour in texture painting you can choose a texture to use as a brush to paint onto your object.

The first step is to define the texture, while any built-in textures can be used an image would be the most common source. In the texture panel create a new brush texture and select the image (this will look a little different if your using Blender Internal)



In the Tools sidebar T you will find a panel for Texture, choose the texture you have setup and select stencil for the mapping type. You will also see options to alter the rotation and scale for the texture. You can also create a new brush texture by clicking the + under the texture preview.



When you move the cursor over the 3dview you will now see the texture in a transparent overlay. You can use  RMB to drag the image into place, &#9096; Ctrl RMB to rotate and &#8679; Shift RMB to scale, when you  LMB on the texture it will paint it onto the image in the selected material slot. This allows you to easily place the brush texture to match up with existing texture on your model.