people don't buy or use the crappiest code when given a choice.
People won't sign up to knowingly buy the crappiest code, but unless they are capable of measuring the quality of code, they will hire the cheapest developers, and be blissfully(?) ignorant. ( I assume most management is blissfully ignorant ) It seems to me that most companies think developers are interchangeable and of equivalent quality and capability. With that mindset, why wouldn't you simply hire the cheapest option.
There is very little future in being right when your boss is wrong.