Really it is all of the above and more. I don't think it can be boiled down to one thing be it sugar, fat or whatever.
No-one in authority is prepared to really stand up and say what the problem really is as there is too much money in it. The problem of too little exercise is "fixed" by encouraging people to go to the gym. Getting them to move about in daily life is just not going to happen as we know all too well.
Same with food, processed food is the real problem and not just one constituent be it salt, fat or sugar. The fact is our diets have changed very drastically over the last few decades and many of the foods that are sold to us as "healthy" are no such thing. The food companies are brilliant at leaping on whatever health bandwagon is in vogue this week and turning it to their advantage. The shelves are groaning with "low fat" (high sugar) yoghurts etc cholesterol lowering (sugar) drinks, healthy margarine (what the hell is that stuff anyway?) It isn't food.
The latest thing seems to be that people have finally figured out that messing with the *fat in food is a bad thing and that we are all short of omega 3 fats, such as those found in fish. The other day I noticed that fish fingers are now being sold as "omega 3 fish fingers". The rush for omega 3 has meant that fish fingers can now be sold as a health food. No. If you want omega 3 from fish, you get a fish and grill it, you don't buy it in a packet mixed with all sorts of crap and covered with breadcrumbs. So people are duped into believing they are eating healthily even when they are not. And if you still need convincing of the power of the food industry, remember that these are the companies that persuaded generations of women that formula milk is better than their own.
Now consider how many billions of pounds these companies are worth. What party or politician is going to stand up to them?
And I haven't even started on GMOs, the wheat industry or who is sponsoring the scientific research into nutrition.
*What is vegetable oil? Clue-vegetables don't have oil.