While you can hand-code the HTML for a submit button in a form, WordPress has a nice function, submit_button(), that can drop in the correct code for you. The function accepts five arguments: $text, $type, $name, $wrap, and $other_attributes.
$text changes the text on the button.
$type determines the style of the button. The common options are primary, secondary, and delete, with primary being the default.
$name sets the name attribute for the button, its “submit” by default.
$wrap determines if the button is wrapped in paragraphs tags or not, the default is true.
$other_attributes sets other attributes for the button.
For a recent project, I wanted to restyle some buttons to make them look like links, like on the posts page, rather than buttons. While you don’t NEED an special class to pull this off, it certainly makes it easier and neater in the CSS. I thought this would be achievable in the $other_attributes, but through trial-and-error I discovered you add your custom class in $type instead of using one of the defaults, like this:
submit_button( 'Whatever Text', 'my_custom_class' );
Basically, whatever you put there will be added to the class attribute of the button and you’re good to restyle the button however you want using your custom class.