You can only direct people to write decent answers (and questions).
The help section is pretty clear, informative and if followed should ensure a relatively decent question and answer pair.
So in reality there is no reason for bad answers or questions, certainly not in the quantity which come through, but people don't care to read, don't care about site politics or other users.
A lot of questioners just want a quick answer and a lot of answerers just want some quick points, so poor questions and answers come through all day.
This isn't the problem here though. Every large community such as Stack's will always have poor quality content, with people trying to abuse the system, crapping in their own nest - either intentionally or simply because they do not understand the affect it has.
The problem of it ongoing (and potential to get worse) is because the community is not managing the poor quality questions and answers correctly.
If they did, then it wouldn't matter what the cause of bad answers or questions was, both bad answers and questions would be nuked correctly and people would eventually get the message, lowering the frequency of poor Q's and A's, which would be enough really.
Cause of bad answers and questions
Decent, well constructed, interesting and informative answers tend to come from either interesting questions, or well constructed questions.
However, even if the question is perfect in every way, there will still be bad answers.
If the question is of a poorish standard, but a rare and interesting topic, people are more forgiving and tend to give a decent concise answer, as (certainly in PHP/HTML/MYSQL tags) a lot of the questions are the same old boring thing that already has a large number of answers.
Also, users will simply just post any old answer to get rep. This is avoidable again with downvotes.
So there are various parameters for what brings about a bad answer (and question) and cannot be pin pointed to one or two single issues.
Not even just "beginner questions" as those themselves if presented correctly, and if not a dupe of other questions, can get decent answers.
Though yes, they too will receive bad answers, as the question itself is not solely responsible for poor answers.
However, the bulk of questions are mostly of a basic beginner level simply because (again in PHP) it's a widely used language and anyone can read various beginner tutorials and start writing (god awful) applications and websites.
So people are often out of their depth in their early learning stages, mainly because they fail to grasp the basics, run before they can walk.
This is true for the questioners and answerers.
They're asking "mostly" just the same old:
"So, I'm reading this PHP book, and:"
"Why does this mysql insert not work?"
"How can I get the values from this multi dimension array?"
"I swear that this variable is changing it's value by itself.."
I say mostly because there are some very interesting questions, and they do tend to bring more concise answers.
But the above examples of quick and dupe questions brings about quick and dupe answers.
These free flowing poor questions still get answers, often by users wanting rep (I'm generalising) and so post an answer quickly, and as long as the answer is roughly acceptable and answers the question, they will likely get an upvote or two and accepted answer.
And yes, this generally means providing a more concise answer afterwards is futile as people see an accepted answer with a few upvotes and move on.
Although not always, sometimes if more info is needed or useful than what the first upvoted and possibly accepted answer provides, and if presented well etc, one can get upvoted quite well.
But again, if question itself is a dupe or frequent/boring topic, and not really a great question, then people tend to ignore them, so the question and its answers get very little attention after the first 30 mins from the better users, those who want to answer better questions from users who are trying themselves.
The loss of these types of users in the questions means that downvotes on poor answers doesn't happen, as the users prowling the question trying to answer won't downvote the crap question because they want to answer it.
Even if the question is of a decent standard and not particularly a dupe, answerers will happily plod on posting generic and do get an upvote or two from the other users with the same mentality.
Often an answer should have been a comment, but they answer instead as they grab a few upvotes from other users being accepting of weak and very basic answers.
What is poor quality?
People often upvote (or at least don't downvote) on a basis it's not a crap answer, which isn't enough really.
Especially as eventually the acceptable level and definition of a crap question and answer changes due to the quantity of even lower standard questions and answers being posted.
Unfortunately over time frequent unaddressed issues such as this becomes the "norm" and these question answer pairs becomes acceptable.
So what users in general accept as a decent question or answer is in reality still a poor one, and should be down voted or not upvoted, but are happy to feel it's of acceptable quality due to the masses of worse questions and answers.
The community then has a lack of decent management of frequent poor questions and answers because these sorts of question/answer pairs are acceptable, and so people don't downvote enough and the problem continues, in fact worsens.
What should happen is users should not answer, and should state in comments "this is a dupe and you should search more, or learn about your code first", and downvote the question.
Eventually people will get the picture and not ask repeated or dumb questions that bring the poor quality answers.
If everyone used the voting system more frequently and with better reasons for their voting, then poor answers would get downvoted too, and they'd lose rep beyond what they cheaply gained for an accepted answer.
This would (likely) over time improve answer quality as users learned that the community is not tolerant of a quick, dirty answer.
I think in a lot of cases people are genuinely trying to help out, but unfortunately without the thought that they're causing more harm by keeping these types of question alive, so it continues. Rather than showing people that if you post a dupe/poor question you get no answers and downvoted.
Recently a question was asked which could have been answered by a simple Google search and a bit of reading. In fact there were similar question already on Stack - not dupe as such, but similar enough that with a bit of effort on the questioner's part the question they posted would not have been necessary.
This question received an answer which didn't answer the question whatsoever, was one word and then a one word link to a completely alternative approach which was not necessary nor explained by the answerer why it was suggested.
Then 5 pointless words stating something like "Now have fun with it".
This answer got 3 upvotes. Sigh.
I looked at it for a few minutes, wondering who upvoted it, and why, and 3 people too.
I did downvote it, and reported it, but felt like I was wasting mod time when the community should have sorted it themselves.
I commented asking why they suggested this, and suggested it was not a real answer and just a comment, but of course there's no response.
In all, this is a large community, and there are a lot of people who would happily abuse the system by posting questions to each stage of their code development, asking whenever they are stuck with anything at all.
People who will post poor questions with little effort from them because they get away with it (not always, but too often).
Generally the system does work, and poor and dupe questions and answers do get actioned appropriately with downvotes and flags, but there are still far too many slipping through the cracks, allowing people to get away with it and sending the message to others to "give it a go".
Again, if more users in general voted accordingly, didn't care about losing a rep point for downvoting answers, then it would over time improve dramatically.