I often get asked to look over people's programs and help them understand where they're going wrong/ have hit a plateau. From my observations, there are 4 main reasons people don't lose weight.
1) You don't have a program. You have a haphazard collection of trips to the gym, and when you get there you perform haphazard exercises, or just ride the stationary bike for an hour. There is no plan. A program provides a road map to success. It allows you to see whether you did what you needed to or not. Without it you are leaving your results to chance and, it my experience, that rarely works.
2) Your diet isn't in tune with your goals. Either you're eating the wrong things, eating too much, or eating things that don't agree with you and send your body into a metabolic tailspin. As with programming, there are a number of nutritional protocols that work and the key is finding the one that works for you.
3) You lack motivation. Or you have Fat Loss ADD and keep coming off plan to follow another, exciting looking strategy. The key here is to find someone to keep you accountable. A gym buddy, a coach, a class... whatever it takes to keep you on track.. a study by Nicolai et al (2009), which compared the results of two groups of obese individuals, found that the group who worked out under a coach lost on average 362% more fat than those who were just given advice and access to equipment. 362%!
4) You're focusing on the number on the scale rather than your body fat %. This is particularly true if you've just got a little bit of fat to lose. The number on the scale becomes less and less revealing or important the nearer to optimal you get. Weight at this point is immaterial and can be manipulated dramatically via water intake, which isn't even vaguely representative of progress and only lasts a day or two. It isn't reflective of bodyfat % either, which is what you should ultimately be focused on if you want to achieve a fit, toned, athletic looking body.