I’ve written about my vitamin B12 absorption problem before. The NY Times recently posted a good primer on B12 deficiencies, including those at risk:
Natural plant sources are meager at best in B12, and the vitamin is poorly absorbed from them. [...C]hronic users of acid-suppressing drugs like Prilosec, Prevacid and Nexium, as well as ulcer medications like Pepcid and Tagamet, are at risk of developing a B12 deficiency and often require a daily B12 supplement.
Stomach acid levels decline with age. As many as 30 percent of older people may lack sufficient stomach acid to absorb adequate amounts of B12 from natural sources. [...]
Synthetic B12, found in supplements and fortified foods, does not depend on stomach acid to be absorbed. But whether natural or synthetic, only some of the B12 consumed gets into the body. Treatment to correct a B12 deficiency typically involves much larger doses than the body actually requires.
Free B12 from both natural and synthetic sources must be combined with a substance in the stomach called intrinsic factor to be absorbed through the gut. This factor is lacking in people with an autoimmune disorder called pernicious anemia; the resulting vitamin deficiency is commonly treated with injections of B12.
Although most doctors are quick to recommend injections to correct a B12 deficiency, considerable evidence indicates that, in large enough doses, sublingual (under-the-tongue) tablets or skin patches of B12 may work as well as injections for people with absorption problems, even for those with pernicious anemia.
The latter is something I make use of — I appear not to absorb much B12 from food, but the little I absorb of “a lot” is enough. I also like that supplements are over-the-counter and I can take them daily. Shots would be prescription and often weekly or monthly. :)