I don't perceive health as a reward for virtue, so even though I understand your analogy with exams, I cannot really accept it.
Ask yourself where fast food comes from. It is a) fast, b) cheap. Of course it is going to suit people who a) don't have time, b) don't have much money. A union of those two wants covers a big part of the contemporary Western population.
Composition of food is another biggie, I agree with you on that. Too much sugar everywhere. That said: we are naturally wired to crave sugar, only someone more and someone less. If fentanyl was legally sold on every corner in fancy packaging, starting with kids, would you blame the resulting junkies for being weak-willed? Or acknowledge that the environment is really fucked up?
I personally don't respond to sugar that much and I can go weeks without it, but that's not my virtue. It is blind luck of my genome or possibly microbiome. I don't drink much either, but again, that's blind luck of my genome or possibly microbiome which makes me dislike the taste of alcohol. Not my iron will, which I don't have.
It is my experience that a lot of people are judgmental about the fatties because it increases their own perceived self-worth. ("We are the virtuous ones, unlike them.") Pretty arbitrary, but humans be like that.
>Ask yourself where fast food comes from. It is a) fast, b) cheap
It is not cheap. Eating fast food regularly would probably more than double my food budget. And yes, I do eat meat regularly.