HTML forms are used to collect user input on web pages. Forms contain different form elements like text fields, checkboxes, radio buttons, drop-down menus, and submit buttons to enter text, numbers, or select options. Common form controls include text and password inputs, radio buttons, checkboxes, submit and reset buttons, and select boxes. Each form element has a type and name attribute to define what kind of input it is and how to reference it.