As discussed, light and dark garments are printed with a slightly different process, but for the most part can be done just fine on 100% cotton shirts. Printing on garments other than cotton is a different story. The discharge agent only removes dye from cotton so water based inks are rarely used on polyester, 50/50 blends, or tri-blend shirts but there are some exceptions.
Since a 50/50 blend will have 50% cotton and 50% polyester, a discharge will only remove and replace dye from the cotton threading. So when printing on a 50/50 blend, essentially only half of the print will show up properly since half the material is cotton. Some people like this affect - when used properly, with the right color shirt and design, it can create a very worn in or vintage look. Also, with a charcoal gray 50/50 blended shirt for example, if they polyesterday threading is a light color, and the dark threading is cotton, then a discharge water based ink will discharge the dark cotton, and the pigment can print nicely on a light/white polyester thread, therefore mitigating the problems of a polyesterday garment not discharging properly.
The same goes for a tri-blend t shirt. Some tri-blends can be printed on to achieve a vinatge or worn in look. When done correctly it can result in an extremely comfortable shirt - a super soft tee coupled with a super soft ink equals super comfort!
Lastly, for polyester, discharge printing will not work. However, there are still some options for water based inks. There are inks called blockers that can be print on the shirt, then water based in top. A super soft hand like printing on a cotton shirt can't be achieved but it might still be a better option than plastisol. Another solution is to used a water based silicone ink. This stretch and soft ink is perfect for polyester but it is quite pricey. Most of the time people prefer a regulat plastisol ink on polyester garments in order to save on costs.