Most of these whitening toothpastes are very abrasive, removing the superficial stains on the teeth. This does not actually change the colour of the teeth, which is naturally yellow. Moreover with long term use, the abrasiveness of this toothpaste can damage the tooth itself.
Low Whitening Concentration
The primary whitening ingredient in toothpastes is hydrogen peroxide. However the concentration is too low (often 1%) to provide any visible effect. Compare this to the 30% Hydrogen Peroxide Concentrations often used in dental clinics.
The reason why the concentration of hydrogen peroxide is low because this would affect the consistency of the toothpaste.
Not Enough Time
Whitening agents need significant time on the tooth itself to whiten teeth. Brushing for approximately 2 minutes with a whitening agent (even with higher concentrations) is not enough time for this to work
If you are looking for over the counter whitening products, consider looking into whitening strips that stay on the teeth for a longer period. The other alternative would be to schedule yourself in with your dentist and have whitening done professionally.