I like to put a due date on everything except for "maybe someday tasks", but this creates a problem where I'm not sure what HAS to be done and what can wait a bit longer. And so I endlessly postpone or revise due dates to avoid the guilt of overdue tasks. To combat this, I combined my due dates with priorities:
Priority 1 is for HARD due dates: it really actually has to be done that day
Priority 2 is for SOFT due dates: it should get done that day, but it can wait a week or so
Priority 3 is Whenever: it would be best to be done within a month or so, but no rush.
I then postpone any of the priority 2-3 stuff that I don't get to on the day it's "due", and set up a Smart List that keeps track of tasks that have been postponed many times. After 10 postponements (priority 2) or 45 (priority 3), I upgrade the task's priority one level to force myself to get it done.
postponed: >10 AND priority:2
postponed: >45 AND priority:3
Posted at 1:42am on March 9, 2013