It is used to differentiate between simple anchors and anchors with href attributes. See demo jsfiddle here.
<style>a { color: red; }a:link { color: blue; }</style><a name="anchor">No href</a><br /><a href="http://stackoverflow.com/">With href</a>
EDIT:For this reason, it is important to cover all cases in your CSS. Option 2 is the only option that completely covers all cases. If you do not have anchor elements without href
attributes, you are safe with option 1.