I use Evernote for todo management. For me, the essential feature is, that the todo application is the same as the knowledge management (or notetaking) application.
For example, the todo might be "Fix the bug #1234". In Evernote, this will be the name of the note, and in the body of the note, I copy the bug description, and write any other stuff I discovered during my work. I found that the applications which only maintains the lists of todos are not useful for me.