The second is psychological, people whose bodies work normally and they do everything wrong on their own.
The third is structural. Countries in which a huge part of the population is obese while other similar countries don't have that problem, have systemic issues that cause that. In the US it's the fact policies all around favor food that cause obesity and make healthy food be extremely expensive, which is the opposite of what countries where obesity is uncommon do.
Fix this last issue, wait two to three generations, and you'll see obesity fall to normal levels, at which point, yes, bringing up the moral argument for some of the few remaining cases may even become valid.