1) The buttons you have pictured have very intense colors. The problem with intense colors is that you then have to keep upping the ante for everything else (like alerts, which then have to be in gaudy yellow, and so on...)
Perhaps these are just examples, but people tend to remember what they see in pictures.
This is just a personal preference, but I like the standard jQuery.UI / Vector look where the buttons are all the same very light cyan, with very small, relatively subtle pixel-oriented icons. We've already chosen jQuery.UI as the basis for most of our form interfaces.
2) Ease of producing buttons is also a factor. I think it goes without saying that we are never going to require an artist to be involved in creating forms, it has to be all in code.
So in this example we have white icons on dark, intense-colored + gradient rounded-corner buttons. Not all of this is doable in CSS on all browsers that we care about. If we do come up with a way to do this, then the text loads before images, so for a while the button text will appear to be white on white. Even if we do fallbacks to standard buttons, there is a big difference in what seems "right" when the designed form has an intense red button, and when it's a flat grey rectangle. So it becomes harder to make the form work everywhere.
Also, if you allow such radical color changes you have to produce more versions of the icons (white or black at a minimum).
Again, this is my preference but I think subtle wins over intense for a lot of reasons. If I can take a standard 'submit' button and apply CSS it's 10x easier/faster than creating a div with a fancy background and attached JS behaviours to simulate a submit button, not to mention that key shortcuts (return for submit) will still work, etc.
3) Re: "reset" buttons; I feel they should be abolished from interfaces generally, as they are often included just because HTML Forms have them by default. They trick users into clicking on them far more often than they help anybody. Perhaps you are just including it as an example, for the rare cases where you do need it. But again, people remember what they see. They will copy that, and ignore what you say.
Jakob Nielsen hates them too: http://www.useit.com/alertbox/20000416.html -- in his view, even "cancel" buttons are a questionable idea. "Making it easy for users to destroy their work in a single click violates one of the most basic usability principles, which is to respect and protect the user's work at almost any cost. (That's why you need confirmation dialogs for the most destructive actions.)"