HTML control is created when a Pega OOTB control doesn't suffice your requirement. Better always go with Pega OOTB controls. Edit input is used to modify the entered text to correct format. Say zip code entered will be converted with - accordingly.
Edit input rule is something that is used to massage / convert the data just before it is posted on to the clipboard. One more important thing to note is that edit input processing happens before edit validate.
HTML Controls are the ones we assosiate with the property either in property rule form or in the section. Property holds raw value in clipboard and this has to be displayed in a user understandable & managable format in UI(using HTML,CSS and JS), for this very reason we have controls.