As someone who runs a software development consultancy I'm constantly talking to potential new clients.<p>It seems like 9 times out of 10 the potential client has had a really bad experience with another developer at some point... overcharged and under-delivered, non-working code, etc etc.<p>What's the root cause here? All these bad apples out there make my job a lot harder.
Several reasons. Here are are the ones I can quickly think of:<p>1. Lots of money for a product that customers can't <i>really</i> inspect before paying.
2. Same as #1, but simpler: lots of money.
3. The customer. Feature-creep and a lack of vision can really dismantle a project in it's nascent stages. I've seen many a project fall victim to this.
4. Lack of testing. This is usually caused by #5 and #6 below.
5. Deadlines + customer's constantly changing scope can == bad code (at times).
6. Like @coderdude said, the field itself (and it's workers) are generally immature (and therefore haven't learned best business practices - or best practices at all, for that matter).
7. Web DESIGNERS != Web DEVELOPERS. Many, many customers don't know this (you'd be surprised).
(This comment is focused mainly on web developers.)<p>It's a young and immature field. The clients are usually ignorant of the requirements and the level of quality to expect. This breeds a lot of half-ass developers and snake oil salesmen. I've personally known a few people who called themselves "web designers" but the work they create is God awful. Get-rich-quick types tend to want to jump on board to milk money from people. Web development is a great field for those kind of people. SEO is another.