Following is the explanation by Knewton , which i didnt understand at all
"To reduce" children's immunity means to decrease the amount of immunity they build up against diseases.
"To weaken" children's immunity means to decrease the strength of the immunity they build up against diseases. In other words, to reduce someone's immunity means to lower the amount of immunity that someone has built up (to reduce the amount of immunity they have). To weaken someone's immunity means to lower the strength of their immune system (to damage their existing immunity).