I believe that with any profession you have to be wary who you are dealing with and not instantly trust them because they have a nice smile and say things that make you feel good. Many builders are such pleasant blokey types who instantly make you feel that they couldn't possibly do anything wrong and make you feel like writing a blank cheque in total confdence.
However, as others have said, this is not just so for builders but goes for banks, insurances, doctors, lawyers and many other professions.
One reason that people often spit so much bile over builders is to do with the sums of money involved. Maybe you can survive being cheated by a dishonest used car salesman or buying an insurance policy that is too expensive, as long as you make sure the next one is better. But because of the time it takes to save up for a house and then pay off the mortgage, its not something you can put aside as a valuable learning experience and seek to do better next time.
Personally, I find it pays to not go for the big jobs straight away but to test builders with smaller jobs such as repairing a garden wall or a terrace before even letting them anywhere near the roof or the plumbing (and of course not telling them it is a test). People who will cheat with big things will cheat with small things, but with a garden wall for example, it is still doable to actually count the bricks and guesstimate the amount of mortar required and if there is a larger discrepancy to what was billed for, demand an explanation (in a friendly way of course, it's not right to accuse people of scheming to con you when in reality you might just be misunderstanding). And if they do mess up and the garden wall collpases within a year or they don't properly clean up after finishing, then those are also warning signs that they won't do better on the bigger jobs.