<input type="submit">
Используется только с формами. При нажатии на кнопку, форма будет отправлена по описанному для нее назначению.
<a>
Это просто ссылка
<button>
А это просто кнопка. Пустая. Ничего не делает сама по себе.
А теперь:
<input type="submit">
<a type="submit">
<button type="submit">
Все их можем "пихать" в форму.
Сами по себе
input
и
a
и
button
ничто. Все дело в атрибутах. Надеюсь, разницу я понятно объяснил.
Подытоживая, кнопку, как правило создают при помощи
<input type="submit">
но ничто не мешает нам поставить ссылку или button и добавить им такой же атрибут
type="submit"
- и все будет работать аналогично.