Hola Antony.
En un sitio web siempre hay elementos que se repiten en todas las páginas, por ejemplo los encabezados (header), el pie de pagina (footer) o tambien en este caso el main. Esto es para que el sitio mantenga un mismo estilo. en el caso específico del main es un elemento que se repetira en todas las páginas del sitio, por lo tanto los estilos que le pongas se veran reflejados en todas las paginas que lo uses. A no ser que le pongas una clase especifica y le des estilos esa clase.
Pagina 1
<main>
.
.
.
</main>
Página 2
<main class="layout-1">
.
.
.
</main>
Con el codigo anterior puedes aplicar unos estilos al main puro aplicarlo a una pagina y tambien puesdes aplicarle otros esilos mediante la clase y aplicarlo a otra página, pero al ser una etiqueta que se utilíza en todas las paginas del sitio, pues lo mejor es que use el mismo estilo en todas.
Otra opción es que desde la pagina 1 enlaces a una hoja de estilos que tenga unos valores para main y en la hoja 2 llames a otra hoja de estilos que tenga otros valores para main, pero considero que no es comun.
En cuanto a tu seguna duda, puedes usar undistintamente button o input siempre y cuando sea tipo submit y en cualquiera de los dos puedes manejar lso estilo que deses.
Saludos.