Supposedly Gmail added this as an option because their infrastructure was setup in such a way that the delay was already there. They just made hooks so that you could cancel it before it was sent.
Any chance you could hunt down a reference for this? I regularly test email servers from my Gmail account (amongst others) and I've found that their outgoing messages hit my mail servers almost instantly.
What would make it a bad idea? Just delay sending it for a user-specified amount of time (I think Gmail does 5s, 10s, and 30s), then have the UI for undo-ing the send disappear after the time elapses