! Every single time I've hired a general-- I've had to fight scope creep; fight to get them to actually complete work; fight to get the actual quoted materials; fight to fix problematic subcontractor work; fight to avoid price increases.
You can get close to original scope and original pricing, but for me it's always involved the implied threat of litigation. Note this is the only sector of business life where I've had to be this confrontational.
(Work with individual trades has been not bad at all, but this has tended to be tightly scoped projects with relatively simple dependencies).
> software project was accurately quoted in advance are relatively trivial projects.
Even simple software projects tend to have much deeper interdependencies between work items, and bigger nonlinear combination of work impacts, than other domains. If someone changes something small on the fly in a normal construction project, and a pipe is in a slightly different place-- it's usually no big deal. It may involve a little bit of rework.