Heavy smoking can in fact damage and stain your teeth. It helps to cut down on the amount of cigarettes you smoke each day or eliminate them out of your life completely. People who smoke have a harder time keeping their teeth clean than those who don't.
A natural whitening method that many people stand by is to mix lemon juice and salt. Fresh squeezed lemon juice is best as the acid is at its peak. Mix the juice from a lemon with a half teaspoon of salt and brush your teeth with the mixture. The acid will eat at the stains and the salt will add abrasion to scrub them away. Brush normally after this treatment to remove the citric acid.
Rinse your mouth out after drinking coffee or tea. They are both well known for staining teeth. For better results, try to eliminate it from your diet altogether. The same goes for soda and wine; they can stain your teeth just as much, if not more than coffee and tea.