A label allows you to break out of a certain loop. If you have three loops nested and you want to break out of the outermost loop, then how is the compiler suppose to know what loop to break out of?

A normal break statement simply looks like this:

Code:
break;