I'm not sure what the difference might be for synthetic or natural dyes. A quick websearch yielded something on fiber reactive dyes which are synthetic dyes that attach permanently to cellulose fibers using a covalent (electron-sharing) bond. These molecules carry a "chromophore" which absorb varying spectrums of the light, allowing only certain spectrums to reflect.
Covalent bonding is the one of the most basic and strongest types of chemical reactions. This reaction happens gradually over time depending on temperature and/or the Ph level of the surrounding environment.
Other synthetic and natural dyes may adsorb to cotton fibres in various ways that are not as strong. There is a great deal available online if you use www.google.com to search for terms like: dye chemistry introduction.