There is basically no such thing as truth in a lot of intellectual endeavours. And the subject of diet is perhaps the best example. There is too many variables, its too complex and too many things are random.
One guru says one thing, and the next guru says the opposite. One trend catches on. Then 5 years later, the next trend is almost the opposite of the previous one
One guru says that fasting makes you gain weight because your body notices less intake so it decides it needs to store energy. Then the next guru says of course you need to eat less. Because excess calory intake simply means you are gaining weight.
And then there is water retention. People working out and dieting aren't losing any fat because their body retains too much water. They actually end up losing more weight when they give up and have a big meal. Because the water goes away