+1 on Gentle Alarm. I've used it since a day or two after getting my Droid. Very responsive developer, very interesting concept of waking during a light sleep cycle, very comprehensive ways to manage unlimited alarms using unlimited alarm profiles. A profile is a pre-built behavior that you can set to occur at any time you wish. For example, use this MP3 track, start at this volume %, fade up to this volume & over X number of minutes. Use this ringtone, always make a 100% volume sound indefinitely at the end of any alarm, etc... Quite powerful, and if there is anything you wish it did that it doesn't and the developer agrees with your idea you'll have the feature in two weeks, tops.
My phone is my alarm clock every day, so I selected an app carefully.