An alarm clock's function is to wake you at a specific time. A snooze button's function is to delay that wakening. It's as rational as popping up an "Are You Sure?" dialog box.
I'm still 20, so maybe this behavior will diminish with age. But I'll probably try some experiments, like only having one alarm set (with snooze disabled).
Before you go to sleep, set an alarm like a minute in the future. Lay down, close your eyes, relax. Then, when the alarm goes off get up immediately, stretch a bit, etc.
Do this a couple of times (3, 5, 10 ;) and your brain will get used to the idea of getting up when the alarm goes off. Works like a charm for me (I tend to fall into the snooze-habit too)
This is not my idea, BTW, I got it from Steve Pavlina (http://www.stevepavlina.com/blog/2006/04/how-to-get-up-right...) but I thought I'd summarize the long article for you ;)