For me, and a lot of people that I've talked to, the most difficult part of waking up in the morning is getting out of bed. Being able to just reach over and snooze—or completely turn off—the alarm and fall back asleep is just too easy.
A very common solution to the issue is place one's alarm clock on the far side of the room, so they have to get out of bed to turn it off. This works rather well, as long as you have the self-control to not just climb back in bed. This is what I currently do, but I have a better plan (and it doesn't involve buying a clock that runs/flies/hides or something silly like that).
My next "alarm clock" will do three things: wake me up, force me out of bed, and top it all off with saving me time making breakfast!
To wake me up, I'll have an electric kettle attached to a programmable plug. The tricky part here is finding an electric kettle that whistles when the water boils. All the kettles that I've seen so far just switch off, and maybe beep or ring a bell.
If I can't find a kettle like that, I could also get a stove-top kettle which whistles, and buy a cheap, single-burner electric hotplate, and plug that in to the switch timer.
Once I get the kettle setup, I just have to make sure my switch timer is set with ample time for the water to boil before I need to wake up. Once the kettle is boiling, I'll be forced out of bed to prevent my wife and kids from waking up. After I'm up, I'll have a kettle full of boiling water for tea and oatmeal. This solves many problems, not the least of which is the fact that I hate waiting for the kettle to boil in the morning.
Now, time to find an electric kettle that whistles!