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.
_________________________
Bitt Faulk