I agree. The media treats contractors like used car salesmen. I agree there are some crooks and some idiots in the contracting business but you can't paint everyone with that brush.
I do believe most contractors actually underbid the job more times than they pad it.
I never have a problem giving them extra money if that happens. I understand overhead.
My wife buys a lot more than I do in her job and she regularly tells guys they didn't bid enough to make money on that job and has them, up the bid. It does not do any good to have your contractor losing money on your job, not if you want the thing to be finished properly.