For personal projects, Trello or Asana are about right in terms of complexity.
For organizations larger than about 3 people and engineering teams larger than 2 people I strongly prefer to track software work to be done in something explicitly designed as a bug database, with visible and short numeric identifiers for work items and a strong preference for a Kanban view. Jira is almost perfect for this, though it's a misery to configure, a little bit overkill for teams at the smaller end of this scale, and its few shortcomings are very short indeed. Phabricator will also do in a pinch. Pivotal is nice in principle but lacks sorting and filtering features that make the backlog possible to manage.
Getting non-technical people to look at the issue tracker on a regular basis is crucial but nearly impossible. I'm still waiting for someone to build an awesome integration between JIRA and Trello or asana.