If you have a jQuery UI button widget created off a button everything seems to work right, in the click event handler event.stopPropagation() will prevent the event from going up to higher elements in the DOM.
However if you create a button widget from a checkbox then the click event will first fire against each of the elements up the DOM tree, then fire the button click handler, then fire again up the tree.
The second set of propagation up the tree will be stopped by event.stopPropagation() in the button click event, but the first set will not be stopped. If you try to be "smart" and stop the propagation at say a wrapper that is around your button then it works.
However if you have an event.preventDefault() at any point higher in the DOM (and haven't stopped the propagation at say a wrapper element, then the button click event handler will not fire.
I am assuming that this is a bug, but if not then it needs to be clearly stated that this behaviour is what happens somewhere in the documentation.