First, the good news. Today with the ultra polishable extremely dense porcelain veneers you will rarely get stain on them if you exhibit good oral hygiene. They are very color stable, and any surface stain that you may pick up can be easily polished off by your dentist or dental hygienist using very fine low abrasive polishing paste. I've been doing porcelain veneers since they were introduced to dentistry around 1985 and in that time I've only had one patient come in with any significant staining of his porcelain veneers.....he was a cigar smoker. We polished off the cigar staining in a couple minutes, shared with him how he could better brush and floss after smoking his cigars, and since then he only comes in for his visits with our dental hygienist with minimal cigar stains. However, natural teeth are another thing. They can pick up staining very easily! Worst offenders are smoking, coffee, tea, curry sauce, soy sauce, colas, berries, grape juice, wine, etc. The tooth enamel can stain both externally and internally, because those offenders just mentioned can stain the outer surface of the teeth along with permeating into the inner surface. Your dental hygienist can easily remove the external stain, but to get any internal staining out of your natural teeth you should consider teeth bleaching (also called teeth whitening). There are three more culprits that can cause your natural teeth to discolor. One is just pain 'ol natural aging. The second is the nerve of the tooth dying and needing a root canal to stop the infection. This does not happen frequently, but does happen. A third reason is something called "traumatic discoloration", which could happen from a traumatic blow to a tooth or the tooth having had braces.
Avoid coffee, tea, red wine and smoking. These are the most common staining agents. Brush with a soft tooth brush or an electric toothbrush. Avoid abrasive toothpastes or whitening toothpastes. Floss your teeth daily. Have your teeth cleaned every 3-6 months at your dentist's office