If a form item must have a specific value (checked in the case of checkboxes), it does not make much sense to give the user a choice at all.
I have used mandatory checkboxes for web applications to guard against accidental submission in situations where they may not be able to undo it or the change is destructive. With touch based devices (phones, tablets, etc.) on the rise, accidentally clicking on a submit button prematurely while trying to scroll can be a concern.
This is the workflow for an application I worked on last year:
- User books an ad space in a publication (ad booking can be done a year in advance, so filling out what they want in the ad is not a requirement at the time of booking)
- User fills out their ad brief
- User says "this looks good" and sends it to the publication owner for review (once this happens, the user cannot make any more modifications)
- Owner approves it for layout in the publication or sends it back to the user because it requires modifications
The ad brief submission is guarded by a checkbox that's labeled something to the effect of "Yes, this is ready for review". Other than following links that allow you to modify specific aspects of the brief, activating this checkbox and submitting the form is all that you're able to do on the page.
This is not a design pattern I use often, as most applications typically allow the users to modify their own information freely. I only use it in rare situations where the user needs to be protected from their own fat fingers.