From our experience, they are on the verge of being a scam. B12 injections have been used for decades for those that don't absorb B12 in foods well, this is mostly the elderly and those with a genetic predisposition to malabsorption. If you suspect you are low on B12, I'd highly suggest getting a physical with a regular doctor and getting your B12 tested. It is a simple blood test. If you have low B12, you may feel low on energy but you may also start to notice brain fogginess.
An alternative that you can easily use is sublingual B-12 drops. It absorbs into your blood stream by being held under your tongue for a short amount of time.
B12 malabsorption is pretty rare in the under 60 crowd, so I'd not worry about it and avoid getting any shots unless you know you have an issue.
You can't out-exercise poor eating habits.