Weight gain happens when you eat more calories than you use, right? Not so fast. Here's a really excellent presentation given at the Dartmouth Hitchcock medical center on why that might not be the cause of weight gain, after all:
The speaker, Gary Taubes, is highly entertaining and provides a compelling presentation. It is a 45 minute presentation, though, so you might want an hour or so free before you watch it.
Edit: the above link no longer works. Try this one:
Here's a link to a longer and more complete version: