What makes myfitnesspal much better than the many other apps out there is the vastness of its food database. The creators of this app essentially resorted to crowdsourcing for building their database rather than build one completely by themselves. And the combination makes for an extremely exhaustive database. This is specially true if you consume food that is not your typical american food sold in grocery stores or in popular restaurants. Indian foods, Mexican food, Korean, Chinese - that's what really makes this app useful. You can even add your own foods and make them available to others.
The app itself, while not the most polished, is extremely responsive. Searches are fast and it has a ton of convenience features built-in such as remembering your most frequent or most recent items by meal. It also works offline - a great feature extremely useful when you want to use it on the subway - like I often tend to do. It syncs with various other apps out there including Withings and Jawbone UP. The only bummer is that it does not sync with RunKeeper - my favorite run tracking app. Hopefully the two companies can agree to share sometime soon.
The app has other expected features like a daily or weekly view and the ability to copy data from a previous day or week. It has also decent reporting of weight and other measurements. The app also has the usual social features - link to facebook and twitter - though not sure why anyone would want to share their food consumption that way.
There is also a website but it is absolutely crap. Seems like a pre-2000 geocities page with none of the niceness of its app. Though it is sometimes useful if you want to make a lot of entries. There is even an iPad app which is also handy.
Overall - it is an extremely compelling solution and certainly very helpful if you want to track your food in the hope to lose weight. And if you eat non-American foods then you actually don't really have an option other than this app and as options go - this is a really good one.