GMail's "Discard" button is needed because GMail saves your unsent e-mail as a draft otherwise. Whereas most forms don't upload your form while you're still filling it in, which is what makes "Cancel" superfluous from a functional point of view.
You make a good point, though. Maybe basic HTML just has Discard to stay consistent with standard.