Webform is a module that aids in making various one-off forms such as contact forms, surveys, order forms, reservations, CRM requests, and many more.
To install the module, download it and add it to your sites/all/modules directory. Enable it under /admin/build/modules.
You will now have a new node type called "Webform". From there, you simply need to create a new webform, add a title, description, confirmation message and other fields you may require. You can set up email settings to send an email upon form submission.
You can add several components (think fields). There are several component types available: fieldset, pagebreaks, grid, textarea, textfield, select (checkboxes, pulldown lists), email addresses and many more.
The checkboxes under the "E-mail" header should be checked for each field you want to include in the email that is sent when the form is submitted. This checkbox does not have to do with validating that field as an email address; that is handled by choosing "email" in the "Type" column.
NOTE: In order to add components, you must first “save” the Webform. Then, under the “Edit” tab, you will see a “Form components” sub-tab; this is how you build your form. Remark: depending on your CSS files, some of these sub-tabs may be invisible, although your cursor would show the link when passing over them.
Webform vs. CCK (or D7 Field module)
Webform is not meant to be a competitor or replacement for CCK. It is designed to be used where each Webform node gets its own set of custom fields. This is different from the CCK approach, where it creates content type forms that produce nodes. In fact, you can even combine CCK and Webform to add additional fields to webform nodes! Think of Webform as a solution when you want your end-users (often anonymous) to be able to submit data that you want emailed to a few email addresses or saved to a CSV file.
Webform typically is used when performing data collection that is a one-way communication, that is, many users submitting values to a very small set of administrators. Webform is not a front end for letting users create custom nodes. Webform submissions are not nodes. This means that you can't setup custom access permissions to submissions or do just about anything with them outside of what Webform provides for you without using additional modules. For example in D7, using the Data module and the Webform MySQL Views module, you can use Views to display webform submissions (see d.o. post Display Webform submission data in Views and a screencast: Display Webform submission data in Views).
Webform components are basically the equivalent of CCK fields. You can add any number of fields to a node that an end-user can fill out. All components are included with the Webform module. These include:
To read how to make checkboxes, radio buttons/groups, and menus/lists then read the Webform Field Types portion of this doc.
Additional webform component
Matrix/Table Component(Webform matrix component)
The THEMING.txt file included with the module package has guidelines for theming with instructions on how to customize submitted e-mails, confirmation pages, and the display of the form itself.