I use Banshee Screamer. It can play audio clips and CDs, and you can set as many alarms as you want to go off any time of any day. Perfect for my crappy schedule (get up at 9 on T/W/TH/F, 8:45 on Sunday, Noon on Monday)
Best feature? One-Click snooze. I just have to get up and click a mouse button anywhere to make it snooze for any specified amount of time. To turn it off you double click the "snooze" icon on the display (which is nigh impossible if not wearing my glasses, thus preventing accidental "snooze and lose" incidents!)