Like most people I have many things that have to be done at a certain time or on a certain day.  Examples:

 - wish a friend a happy birthday at a certain time
 - remember to bring XXX to work tomorrow
 - pay my credit card bill (the one that doesn't allow me to auto-pay the full amount)
 - order something so in gets here in time for _____
 - buy concert tickets that go on sale at noon

Some of them absolutely need to be done at a precise time (e.g. concert tickets), while more often things need to be done tonight, but it doesn't matter what time.

Generally I put a reminder in my phone (not a smart phone) but the problem is a have to basically guess at when I'll be available to do the thing.  For example I may guess that I'll be home at 8pm tonight, but then it turns out that I meet a friend for dinner and don't get home until 10, and editing that reminder to change the time to 10 is clunky, sometimes rude (if I'm at the dinner table), and often I just have to guess again (at 8, how do I know if I'll be home at 10 or 10:30 or 11?).

So this is kind of a broad question, but I'm looking for *specifically* how you remind yourself to do these things.  (e.g. what phone/software/app/website/service you use, if you use one at all, and how easily does it allow you to "snooze" reminders?)  Or if you have some other method not related to specific reminders that works well, I'd love to hear about that too...