Why use <label>?

Solution 1:

HTML is not about presentation. It is a way of describing data. If you have some text that represents a label for an input, you wrap it in label tags not for presentation but because that's what it is. Without the label tag, that text is almost meaningless. With the label tag and its for attribute (or not*) you are providing meaning and structure and forming a relationship between your markup that can be better understood by computers/parsers/browsers/people.

* you don't necessarily need the for if you wrap the label around the input:

<label>My input
  <input type="text" id="my-input" />
</label>

Solution 2:

The for attribute of a label element corresponds to the id attribute of an input element. If you click the label, it puts focus on the input box.

Example:

<input type="checkbox" id="agree" /> 
<label for="agree">I agree with the Terms and Conditions</label>

See this in action.

If you click on the text, it checks the box.

Solution 3:

When you click on the label, the focus goes to the related input. Very handy for checkboxes when it is hard to hit the small rectangle.

Solution 4:

The HTML <label> tag has one special feature: It allows you to provide a for attribute which links the label to an input field or other control, such that when the user clicks on the label, it is as if he clicked on the control.

eg:

<label for='mycontrol'>Label text</label> <input type='checkbox' name='mycontrol' id='mycontrol' value='1'>

This would mean that when the user clicks on the 'Label text', the checkbox would be toggled.

This is useful for accessibility, general usability, and also allows some tricks such as making a toggle control that doesn't look like a checkbox, but does contain one behind the scenes.

But aside from this for feature, the <label> element is basically the same as any other HTML element.

If you're not going to use the for attribute, it may still be correct to use a <label> element, for semantic reasons.

Solution 5:

HTML tags are meant to convey special meaning to users of various categories. Here is what label is meant for:

  1. For people with motor disabilities (also for general mouse users) Correctly used label tags can be clicked to access the associated form control. Eg. Instead of particularly clicking the checkbox, user can click on more easily clickable label and toggle the checkbox.

  2. For visually-challenged users Visually challenged users use screen-readers that reads the associated label tag whenever a form control is focused. It helps users to know the label which was otherwise invisible to them.

Read more about labelling here