"A contractor is a supplier, not an employee, and should therefore be working to provide something to a contract."
Yes, a fixed amount of work for a defined period of time, this is why you pay them by the day or hour. If you want more than that then pay more than that. You don't get to pay a contractor for a days work then expect him to do a day and half's work.
Not all contracts are on a per-hour basis. Take house building. Sometimes when a job takes longer than planned, the contracting party is out of pocket. Sometimes the contracted party is out of pocket. That all depends what the contract says. Every party involved in a contract has to consider the balance of risk to reward when negotiating the price.