A while back, I discovered that if you have a stain on a white shirt, you can remove it by putting hydrogen peroxide on the stain, then adding some bleach to it. I have used this for getting out wine, sweat, chocolate, etc. The reaction produces gases and heat. What is happening in this reaction and why does it clean stubborn stains?
Peroxide already is a "bleach", and you don't say what the other one is. The gas you see evolving is most likely oxygen (from the peroxide).
Generally (most importantly) bleach oxidises double bonds (which make the colour in many organic compounds). The remaining molecule is also more polar afterwards, because an oxygen-containing group was inserted, and therefore easier to wash out with water.