It seems as though every month a new diet book, pill or product is released and claims that you can lose weight without giving up your favorite foods or even exercising more than you already are. Before you get all excited and spend your money on these "miracles", realize that there is only one way to control weight: calories intake.
Our body needs energy to survive. Calories are a way we can measure how much energy a food contains. Since we're not always eating the same amount of calories that we burn, the body has to do something to either make up for the shortfall (if we don't eat enough) or do something with the excess energy (if we eat too much).
Weight can either go up, down or stay the same. If you want to lose weight, eat less calories than you burn so that your body is forced to burn fat stores for energy which results in weight loss. If you want to gain weight, eat more than you burn (and lift weights) so that your body uses the excess energy to build muscle. If you want your weight to stay flat, eat the same amount that you burn.
The general recommendation is 2,500 calories per day for men and 2,000 calories per day for women for weight maintenance. Add 500 calories per day to gain weight and subtract 500 calories per day to lose weight. Since this is a very general recommendation, it won't work for a lot of people. There are also formulas that estimate your calorie needs based on age, gender, height, weight and physical activity level. These calorie calculators are a good place to start.
Once you get an estimation from the calorie calculator, stick by it for a week and monitor any changes to your weight. If your weight isn't moving in the direction you want it to, adjust your calorie intake (increase calories if you aren't gaining weight or decrease calories if you aren't losing weight) by 200-300 per day. Keep adjusting your intake until your weight starts to move. Remember that calories are the only way to change your weight. Any diet that promises you results without change on your part will not work.