Plaque can cause a person to have extremely bad breath. Plaque is kind of like solid bacteria, and when people don't go to the dentist and get their teeth cleaned, the plaque just builds and builds.
An un-scrubbed tongue also causes bad breath. My grandmother used to say, "If you haven't scrubbed your tongue, you haven't cleaned your mouth." Bacteria collects in the little lines in the tongue and makes really bad breath. A person should scrub their tongue with their toothbrush, then use a tongue scraper to get as much bacteria off as possible.
As for yellow teeth, this probably has more to do with genetics than anything else, but smoking will certainly color a person's teeth, and their fingers as well.