Button vs input

I am curious, what is the considered best practice for using the <input type=‘button’> vs <button type=‘button’> on a form. Is there an advantage of using one over the other… does each have some sort of semantic meaning, or is one easier to style than the other???

the wisdom of the experts is much appreciated.

Using <button> allows you to use HTML to define the button content whereas using <input type=“button”> doesn’t.

For example:

<button>Press <strong>here</strong>.</button>

as compared to

<input type=“button” value=“Press here.”>

is that the only difference? no behavioral change or semantic meaning? is it poor form ( no pun) to use buttons as … well, buttons… for example in a dynamic form when you are addig/revealing or hiding fields… I am tempted to use buttons (and by extension wondered about input type button) when providing a user with an interface to hide /show/add/remove fields in a form…