The most common reasons for teeth to get yellow or stained are aging, tobacco, tea and coffee. All of these can stain the surface of the teeth.
It is also possible to have stains that are inside the tooth. These are called intrinsic stains. For example, intrinsic stains can be caused by exposure to too much fluoride as a child while teeth are developing. Other causes include tetracycline antibiotics. They can stain a child's teeth if taken by a mother during the second half of pregnancy or by a child who is 8 years old or younger. Teeth are still developing during these years.
Tooth whitening is most effective on surface stains caused by age, foods or drinks.