How elaborate do you want to get. A very simple solution is Stickies. This is a replacement for the Windows sticky-notes app. It supports alarms (you can put a sticky to sleep, visibly or invisibly) and have it alarm on a given date/time. Or you can leave a to-do sticky on your desktop (you can collapse it into the title bar or leave it open). It's also free. I've been using it for years.
If you have Microsoft Office, Outlook has a very good calendar with task lists, to-do lists, reminders, etc. If you use ThunderBird for email then there is a calendar plugin that works well (so I've been told).