They are basically interchangeable but yes, I usually use a <button> because it is more flexible since you can put HTML between the opening and closing tags.
Your code was fine, using a <button> here is perfectly fine, but the tests dictate an <input> and thus if you want to pass that particular test then an input it is.
@david_5048, I realize you were given the answer and you marked this solved.
I just want to point out that when a test fails, click the red button to see which test(s) are failing and text to help you correct the issue. Be sure and read more than just the first line of the failing message. The ability to read and comprehend error messages is a skill you’ll need to acquire as a developer. Ask questions on what you don’t understand.
The full error message was
Within the form, there is a submit <input> with corresponding id="submit".
#submit should be an <input> element : expected 'BUTTON' to equal 'INPUT'
AssertionError: #submit should be an <input> element : expected 'BUTTON' to equal 'INPUT'
which tells you what the test was looking for and why it was failing.
Hope that helps in the future.