For years I've been using OmniFocus, and it's been pretty good. Before that I was using Apple's own Reminders solution (I was a big fan of the Siri integration, which Omnifocus also takes advantage of). Before Reminders, I used Remember the Milk and Wunderlist.
I've been on Todoist for a few weeks, and it's pretty great.
Omnifocus just got really frustrating in recent months, and wrestling with it became another item I'd have to schedule on my to-do list. Its many features were getting in my way, rather than helping me out. There are some really hardcore folks out who could probably expound on the differences between Projects and Action Groups, or write scripts to expand its capabilities, but for me it felt the deeper layers of OmniFocus functionality were taking me in the wrong direction.
Plus, there was already too much friction not being able to use OmniFocus via web app, or on my work PC (it's weird explaining to office visitors that, despite my two nineteen-inch screens, I needed to set up my iPad alongside them to use OmniFocus). Since my hospital is on MS Outlook, the only integration I could pull off was a "mail to OmniFocus" button.
But most importantly, some important precepts of OmniFocus didn't jibe well with me - I didn't like having hundreds of projects to scroll through or choose, when generating new tasks. I never settled on the right system of contexts - be it location, energy level, or Eisenhower quadrants. Deferred dates were great until they fell off my perspectives. Due dates were better, but unnecessarily strict, and not easy enough to postpone.
Todoist answers all these issues for me. The system works well with a few major projects; sub-projects are a lot easier to manage. Due dates don't require a time associated with them, and can be re-ordered by drag-and-drop. You can swipe to postpone, You get full access via browser, or within Outlook itself (the Outlook version even has a nifty "new email from task" feature that keeps my inbox empty. Integration with Slack, Trello and Asana (and Siri's Reminders, via IFTTT - though this feature isn't as foolproof as Omnifocus' method).
And with IFTTT, I can address an old peeve: now I can generate a calendar item from a new task, based on its label.
And the Karma! After my Watch's Activity rings demonstrated that I'd do jumping jacks at 11:55pm just to keep an exercise streak going, I shouldn't be surprised that I now blast through a few extra Todoist tasks before bed, just to rack up more points. I'm not sure why it's vaguely embarrassing that gamification works so well with me. I guess I wish the tasks themselves were sufficient motivation. But when emergencies are more the rule than the exception, and days and nights tend to flip and bleed into each other, having some rigid rules (or earnable points) seems to do something for me.
Anyway, I hope to be sticking with Todoist for a good long while. Back to work!