Also, for those who deal problems in life, there's nothing like a sundae or daily coffee with danish to make one feel better (albeit temporarily).
Some may be able to lose 20 lbs. on a short term diet, but the above 2 issues keep most from succeeding longterm.
Mrs. kevkrom and I institued a "cheat meal" policy, where we are allowed, once per month, to eat one meal without any regard for carb counts, etc. This isn't license to splurge, but is typically used for things like parties or dinner with friends, where not everyone is on the same diet (or care to stay on it for the evening!) -- major family events like Thanksgiving can thus be planned for. It also provides a nice incentive against casual cheating -- knowing you're going to that borthday party next week gives you a better chance to pass on the leftover donuts in the lunch room...
The real trick, especially on a low-carb diet, is to be extra good the next day or two after the cheat meal -- depending on what you ate, you may have to re-purge your system of the extra sugars.