So the main issue I have with that implementation, and I say this from experience working with the version that is done on
http://www.yourotheraddress.com/form_signup.asp (it's a radio button there but it's the same for checkboxes) is that we are taking the input out of the picture. Meaning, we are binding most of the events to the element we are creating and not the input which doesn't seem quite right.
The other concern is that the assumption seems to be that the label will always be next to the checkbox. Is this correct?
The thing I like about the Dijit approach is that, for the most part, no extra markup is need outside of the checkbox/radio button being wrapped.