Aside from the lack of regulation. I have found a lot of blame falls on the client themselves. While it's true there are some bad coders and some beginners out there (every expert was once a beginner anyway) , it's poor client decisions or client/designers interaction that most often leads to the prevailing trend you have mentioned.
1) Regulation or not, clients often favour a extremely lowball bids w/o question over reasonable requirement/cost assessment . So while regulation may have trained and/or talented designers in direct competition with high school students, consider also hat the price of a product is usually justified in it's construction. Aside from demand cost dynamics, remember that it takes time and equipment to hone your craft ( this all cost the GOOD professional $$) and as such the cost is passed down in the wages and working conditions REAL designers seek.
BTW, if you are thinking "supply/demand" w/o considering respect/psycology consider this: Assuming the reason for the abundance of bad code and design out there was that there is so much demand that even 'hacks' can get in into the biz then you would have concordantly high wages and not people asking for $300 sites and $11/no benefit s web jobs. Low pay + high demand = crap output.
2) Even when the client isn't begin a ceap @$$, clients seldom give real scrutiny to the final ONLINE products.
Sometimes this is laziness. For example, the client who only realizes his site is not IE7 four months after delivery, when a friend points it out to him. In any other industry a client would acid test the product upon receipt, in some cases obsessively.
Sometime it is ignorance. Most client aren't web folks... at all. I have seen heads of online departments ( here is your large company for you) who were promoted from the ranks of sales/management, not the tech. As such they know little to no CSS/HTML. I have seen those same folks, literally, instructing experienced and inexperienced developers alike on HOW things should be done\.
Sometimes it's stubbornness. The client will ask for this because he doesn't see why take the extra time (thus cost) to employ good techniques.
Sometimes it's ego. A little knowledge is a dangerous thing. Your manager knows that "tables are bad.. I read that on a web dev blog .. somewhere don't use tables use DIVs".... "but sir... it's tabular data.. a product /price /option tables"..."Look Stop dragging you feet, am the (insert title) here. it's my job to (insert generic goal) so don't let me catch you coding with TABLEs" The client doent want to look stupid in front of the nerd?
Sometimes it's humility. The client will distance himself from the project and wont ask 'why' and 'how'. Maybe begin afraid of 'looking stupid'. Yeah, This actually doesn't explain the bad code itself but it definitely foretell that the client wont try anything more than a cursory
Sometimes the client is inept. 'Build a site for my company '.. 'Um, ok... what do you have in mind?' "I dunno, you are the designer... build me something I know if it what I want when I see it." This is not limited to the web industry, but its effects are very obvious for web developers as you can see the hodge podge of directions in the entrails of the final products.
Sometimes it's naivete. If it "looks" good then it must be good, the client doesn't know any better and doesn't want to. Developer who are successful are so because they have HAPPY clients. So even if the developer employs a convoluted technique for and even more convoluted client goal.
Sometimes they are just not a developer/designer. I personally know of three 'Directors' who upon promotion where asked to give their respective companies a web presence (or website overhaul). These are folks who would probably be decent enough managers , but barely tech savvy enough to perform a Google search and who by their own boss' directive could not seek any professional help( I mean if a professional gave them tip or volunteer the whole site.. maybe) . And thus here there they are, their first foray into web development.. a full blown company site.
3) Critiques are internal. Look at what's happening, even in this thread. The unconnected criticism, does nothing to improve THAT particular designer's work/ethics and it does even less to cause clients to place higher value on good work. Believe me, am just as disappointed when I 'view source' only to find utter crap (as an Art Director am also disappointed when I see poor aesthetics employed in the design as well). Still this does little to educate the consumer. It only sounds like competing coders bickering like little kids "my could is better , you should have hired ME instead!" which does little to empower the industry.
There will always be some people who are better and some people who are worse at doing something. just try to become a little better each day and to educate others was to what constitutes good work ( this is pointing fingers , btw) what ever decision is made.. well that's life.
OK, I humbly cede my soapbox to the next person.