Breach of contract is a very specific legal term. Generally, you cannot just say someone has breached the contract and it is so. A court often has to make these determinations, and for that you have to go to court. When you get there, it is unlikely the court is going to force anyone to perform his contractual obligations if the other parties have not.
There are also some issues that are not obvious. For instance, the UCC covers a lot of things that are not covered in many contracts, and your state may have specific laws contractors are required to follow regardless of what the contract actually says.
In the end, it is best if you are able to just work these things out without having to resort to legal process. it is just too expensive, even if you "win".
However, in no case can the contractor "change the terms of the contract". The contract is something mutually agreed to by the two parties and neither party has the right to change it unilaterally.