I use Asana for the projects where one task usually passes through a few people. For example, a content request might start with me, go to design, then come back for approval. I can see the handoff in the same task, which is much better than asking each person where it stands. I also use subtasks quite a bit. They are useful for those jobs where the main task looks simple but actually has five little things behind it. Review collected by and hosted on G2.com.
My only real complaint is that our projects can get messy when everyone starts adding their own way of doing things. We had tasks with different naming styles, random fields, and sections nobody understood. Cleaning that up took some time. Review collected by and hosted on G2.com.