Depends on what you consider prior coding knowledge. I went to one of the bootcamps. The people who spent substantial time learning on their own but had no formal CS background had little trouble landing full time jobs at the end of the program. Those with less experience had a harder time and tended to land internships, but everyone who finished the program landed a job within 3 months. The people who really did come in with zero knowledge ended up getting kicked out of the program.
To your last question - why would a company ever hire a less experienced person? Everyone in the valley wants experienced developers but they seem to be in short supply these days. The best of the recruits from these bootcamps are making substantial contributions at their respective companies within a couple months on the job. In this hiring environment, there is value in taking a flyer on a less experienced but highly motivated candidate.