Each of us has different enzymes. Some of us don't have the ones which mean we can easily digest carbohydrates, hence the weight gain. Some of us eat food which is unsuited to our blood type and this can cause fluid retention as well as extra pounds.
Some foods such as wheat slow the metabolic rate. If you eat too many of these, you will always be struggling uphill.
An unbalanced diet where too much of a particular type of food is eaten and important things like healthy fats are avoided will cause weight gain. "Fat" has historically had a bad press largely due to a few unscrupulous people who paid so called "scientists" to write papers which implicated fat rather than sugar as the dieter's nightmare.
Yes - eat fat - grow slim - but it must be the right type!
Many people have grain intolerance which means the most common foods in the western diet based on flour, cereals and grains are unsuitable and will cause weight problems.You don't need to be a full blown coeliac ( gluten intolerant). There are literally millions of people in the western world who should avoid/reduce grains.
Eating an unsuitable and therefore an unhealthy diet doesn't just cause weight gain. It causes an inflammatory reaction in the body which is behind every single health problem. Inflammation is known in the naturopathic world as "the silent killer".
There are many things to consider as well as those already mentioned. Liver function, thyroid, adequate hydration, sluggish bowels, type of exercise, genetic type, leaky gut, poor digestion, candida, avoiding the re-bound effect where weight piles on as soon as a "normal "diet is resumed, etc., etc.
Nutritional therapy examines the particular aspects of your diet and life style which could be causing weight problems and other health issues. One consultation could provide you with the solution!