I agree with these tips especially the one about not paying up front.
Giving a deposit is one thing, as a lot of contractors require that, since it is a risk to them of getting paid. The deposit helps with buying the supplies and materials needed to start the job.
But definitely hold on to the final payment until you are completely satisfied with the work (and the clean up). There have been a few times when I withheld payment until the yard was cleaned of debris from the construction job (and I mean big debris like leftover boards and such).
Contracts are such an important part of professionalism. It protects you the home owner and clarifies expectations with your contractors. Don't trust any job without a through contract signed by both parties.