When water or other liquid soaks into the fabric, the spaces between the fibers are filled with it. There is a smaller change in the angle of the light incident on the material, resulting in greater internal scattering. Less of that light returns to the eyes. Jeremy - Well, let's talk about it another way, how come we can't see through people's clothes? There are two reasons for this.
One of them is because we put dyes on them, which absorb certain colors of light and allow others to reflect. But that's not true for white clothes, such as cotton. So how come we can't always see through people's clothes to their underwear? The reason is that clothes are made of fibers that scatter light, and they scatter light in exactly the same way that milk looks white. It has tiny particles called casein, which are about the same size as the wavelength of light, and light scatters strongly against those particles in all directions, so we can't see through milk.
So cotton is made of many fibers around the same size as the wavelength of light, and we can't see through it. When it gets wet, there is water around all those fibers and the light no longer scatters very strongly. So, basically, the material becomes more transparent. Wetting a stain on your shirt doesn't make that stain permanently darker or inherently different.
Water only makes the fabric appear darker by making the fabric more transparent, allowing you to see darker objects behind the fabric. It really has to do with how transparent the shirt is, but even then, I think (and someone corrects me if this is wrong) that bleached cotton is going to be more translucent than dyed cotton, and t-shirts tend to be more transparent than t-shirts, unless you buy t-shirts from a manufacturer that uses very transparent cotton ring spinning. If you hold a white shirt with a damp stain right in front of a bright light, the wet spot will appear brighter than the rest of the shirt because it is more transparent and lets in more light. If you wear a white shirt over a bright orange shirt, pouring water on your tummy will make your tummy look more orange and not blacker.
As a result, most of the white light that falls on an undyed shirt eventually reflects away from the shirt randomly. Because the fabric is fine, it looks totally clean and textureless from a distance, while the twill gives it that hint of shine that gives a white shirt a noticeable shine. This means that a dry blue shirt is actually whitish blue (which we call lighter blue), but the same shirt when wet is simply blue (which we call darker blue). A white t-shirt, for example, is composed of fibers that are mostly transparent, but in such large quantities and concentrations, generate a vibrant white color.