I thought doing this was to obey the web usability rule of "Links must never change state, while buttons could potentially change state." - the REST model, e.g. if you click a button you're going to modify/submit something, if you click a link you're just going to go somewhere else.
This makes sense in the [Save] _Cancel_ case at least, I'm sure there are apps that aren't consistent though.
A blog post with some ideas on the matter: http://www.svennerberg.com/2008/09/the-use-of-buttons-in-web...
This works visually, but I think it really tramples on a lot of UI metaphor.