Hi Jesse, all of your points are contributing factors. Also, as technology advances, we gain new conveniences that improve quality of life but remove physical aspects, furthering the problem (elevators, for instance).
Still, the main issue is diet. Exercise helps lose weight, but diets are far more relevant to body fat. Quick and cheap fast foods, especially McDonald's and Starbucks, attract people who don't want to break the bank or have to cook. .
So, what can we do? People don't often realize that not all healthy meals are expensive. Grab some low-calorie Slim Jims, fruit snacks, or rice treats from Dollar Tree or Wal-Mart. Discover tasty beverages that don't pack a hoard of calories (I'm partial to flavored carbonated water). Children don't often have the freedom to choose what food to eat, so we can help them by encouraging healthy lunch programs and providing them with nutritious meals. Finally, find some sort of exercise, even if it's light, that you enjoy so it's not a chore. Walking, swimming, biking, anything.
It will take time, but our nation can recover from its obesity epidemic.