Should forms have a cancel button?
Cancel buttons don't belong on forms for a couple of reasons. One is that it gives users the opportunity to accidentally click on it when it's mistaken for the Submit button. Removing the Cancel button completely removes the chances of this mistake happening.
Should cancel be a button or a link?
To summarize
The cancel option is similar to aborting an action, and therefore similar to navigating back to the previous state of the UI. Navigation is represented in web UI as hyperlinks, and thus the cancel option should be a hyperlink.
Should cancel button be red?
The Cancel button should have a neutral color to signify the neutral, non-committal button. When users see that the Cancel button has no color, they'll recognize it as the fallback to safety easier. It's critical for users who need to escape a confirmation screen to notice this.