The only clear advantage I can see of Asana over Producteev is their more fully implemented keyboard shortcuts.
I'm an empiricist (the best Italian restaurant is the best Italian restaurant. Period.), however, when it comes to project management apps, even I have to admit that what works best is completely dependent on how your brain is wired.
For me, OmniFocus follows the paradigm that works best for me. I like to think hierarchically, so systems that are based on tagging (Producteev, Remember the MIlk, Asana) cause my mind problems. Also, I am a firm believer in having clean lists. You cannot have clean lists without implementing start dates. There are a ton of to do items that I don't want to look at until it's relevant to work on them. Producteev, Remember the Milk, and Asana don't support start dates.
There's a big line in all web apps. On one side are the applications that are easy for anyone to figure out. On the other side are the applications that aren't.
Basecamp, Remember the Milk (when used non-collaboratively) and OmniFocus are the only apps I've encountered that fall on the easy side of the line. Sometimes I lament their lack of power, but, in the end, ease of use – and the adoption that it breeds – is the thing that always wins the day.
There is a serious problem – IMHO – with many web app projects: the developers of the app are much further to the right end of the bell curve in their ability to "get" how to use technology than the average user that will likely be asked to use their app. These developers live in a bubble. There's nothing inherently wrong with this. You should build the app that YOU want to use. But, if you expect to get wide adoption, and the learning curve for your app has even a modest slope, you aren't going to get it.
The magic/miracle/luck of Basecamp is that its developers, even though they were capable of comprehending/using/building something much more complex, wanted something simple. They were able to build the app they wanted to use and have it still work for the masses.