The check one receives from their insurer is a payout for damages. It is not earmarked specifically for repairs. This is why in many cases when there is overflow homeowners get to keep the money. In all honesty, you could keep the entire check and still would not be doing anything illegal. However, the repair would not get done.
The only negative aspect of keeping money from a payout is if further damage is done because you did not do the initial repairs. For instance, if you refrain from making repairs to a roof and it leads to structural damage down the line. Your insurance company will not cover the structural damage because it is a result of your neglect. Of course, this is not an issue if the repairs in question are not needed.
So take stock of your situation and make sure that any repairs you refrain from doing will not cause further damage. If it is not a big deal, or you can fix it yourself, than do not worry. It is not illegal to keep the money and the insurance company will not penalize you. As for the contractor they will simply move on to the next job.