Risk of B12 shots. No.Except it is an injection and may cause some pain. Vitamin b 12 is a water soluble vitamin, which means if you have enough in your body the excess will pass in the urine. It can also be given in oral form, but absorption is unpredictable, and nasal spray which is comparable to shots but costs more. There is no contradiction except I dont recommend in children and young adults as they dont need it.
Not usually necessar. B12 is a vitamin present in meat, espcially liver, & added to many cereals. Unless you have some serious GI problems that make you unable to absorb it from your diet, shots aren't needed. That stated, they won't hurt anything, unless you develop an infection at the injection site.