HTML forms are used to collect data from website visitors, such as during a user registration process where names, emails, and payment details are collected. Forms contain various input controls like text boxes, checkboxes, radio buttons, select boxes, file selects, and buttons to submit or reset the form. Hidden form controls can also be used to pass hidden data to the server without displaying it on the page. The <form> element defines an HTML form and contains the various form controls.