When I used to work in retail they told us the following statistic during training:
10% of people will never steal. No matter what.
10% of people will always steal if they can get away with it.
80% of people are more opportunists who may steal if all of the factors that day align (you're skint, you know you can get away with it, you persuade yourself nobody will notice etc).
As someone in the 10% that would never, that absolutely shocked me.
But, if I was on the bones of my arse, had ran out of food bank vouchers, managed to convince myself that the NHS just have a big stock of the item anyway and can absorb the cost/factor thefts into their budget, knew I couldn't afford a birthday gift for my kid, or felt so horrifically unwell from heroin withdrawal my morals were so far out of sight I forgot I had them, who knows? Maybe I'd fall into the 80%.
It makes me enraged of course but I always tend to think although it's no excuse, I doubt anyone with enough money and a nice life with much to lose would steal those things.
I've endured opiate withdrawal (exactly the same as heroin, only mine was because my prescribed meds from the pain clinic got stolen out of my car and it took days to sort) and I remember at the time thinking I'd give anything to make it stop. Anything. I'd have sold my bed, had a finger amputated, given them every last penny in my bank account. Yes, nobody takes drugs unless they choose to, and they could make the decision to get help (though relapse is a largely inevitable and expected part of recovery from addiction, not a weakness of character), and I don't expect anyone to feel sorry for someone in withdrawal from a habit, but unless you've experienced it it's impossible to even guess how it feels.
So i try have a little empathy instead of jumping straight to 'how disgusting', we all know it's disgusting. Few people can look a little beyond that and at least contemplate why some people might do this.