They vary wildly from far too technical for clients to use (Trac, Redmine); to too rigid to handle fast moving tasks (Trac and Redmine again, ActiveCollab); to too simple for complex/long-lifed/complex tasks (Basecamp, Trello).
FeatureZen is a pretty new addition to the stack (made by someone here at HN) and it's showing promise, but it's still very young.
I also came across sprint.ly recently, and thought that it looked interesting. I've put much thought into making a task tracker that fits "the real world" (whatever that may be), but every time I think too hard about it, I baulk at the size of the task.
In short; find something that suits your style, use it. If you need something different, don't be afraid of using two things for different situations. It becomes a bit of a nightmare to manage, but if it's just you, then it's easier to keep on top of it.
My task tracking right now is just simple notes of what I've done today. Later when I need to bill hours to different budget numbers I can go through the list as generally remember how much time I spent on each item in the list.
What I've found recently is I've been adding more notes and also putting todos in the same list. I also have a separate calendar reminder to make sure I fill out my list at the end of the day. It's starting to get complicated enough I'm considering throwing some code at it.
This is what I'm looking to improve on. Right now I basically track it all in a doc, simple dates with a list under them of what I've done. When it comes time to fill my timesheet I got back and look at it day by day.
Clickable: https://asana.com/
For my team I use Trello. It's perfect.