However, I think you're asking the wrong question. Don't ask "What happens if I deliver a crappy product?"
Instead, ask "How can I make absolutely certain that I will deliver a product that the client is pleased about?"
You won't get it right all the time, especially not at the beginning, but you'll find that in general that's most to do with your ability to manage client expectations than with your coding skills, so don't worry about delivering a crappy product - instead worry about managing client expectations so they're never negatively surprised by what you deliver.