Just to get it out of the way, none of the following task management tools seem to support any sort of task hierarchy or dependency at all. Since this is a requirement for me, I'm not even going to bother reviewing them at all. (This is a lie. Jump to the bottom for a couple of very small reviews.)
- Remember The Milk
- Producteev
- Toodledo
- Astrid
- Do.com
- Wunderlist
- Things
- Todoist
- Asana
- Orchestra
- Any.do
- Conqu
- Tasque
- TimeGT
- New York Minute
- HubList
- iProcrastinate (honorable mention for best app name)
- doit.im
- TaskUnifier
- Firetask
Those are vaguely ordered with most well-respected and/or well-known at the top, based on my personal bias.
Again, none of these support any notion of task hierarchies or task dependence that I can find. If you think I'm wrong about any of these, let me know and I'll take another look.
That said, if I didn't have that requirement, I'm pretty sure I'd be using
Asana. It looks nice, it works well, there are a huge amount of collaborative features, and I like the unique pricing model. The only thing I can think of that I'd add is native clients, and, honestly, the web app works really well. More than well enough for a Fluid/Prism-type app to seem native. Also, they provide a pretty solid looking API, so native clients should be possible through third parties.
It's also worth pointing out that the very first product that I tried was
Producteev, and I've been using it to keep ordered notes on this whole process. I also use Evernote for note-taking, but it doesn't lend itself as well to structure. (Maybe if they fixed their awful editor ….) I think that if I was looking for something very simple, Producteev would be the way I would go.