Take the following scenario: you have 2 radio buttons, both with the same name, and both checked (I realize that's invalid):
<input type="radio" class="input" name="cb1" checked="checked" />
<input type="radio" class="input" name="cb1" checked="checked" />
Why do the following two selectors behave differently?
$('.input:checked').size(); // returns 1
$('.input[checked=checked]').size(); // returns 2
Apparently, the first selector returns only the checkbox that occurs last in the markup, while the first selector returns both.