There is no such thing as a reference that assures that you will be offered a job or admission to a program. A “good” reference is not an emphatically positive reference that insists that the candidate is the best person to choose. A “good” reference is an accurate reflection of the referee’s impression of you.
Employers may not even contact references until they are down to one candidate. Grad schools may compare references of a short-list of candidates but it is essential that the references are accurate, or the unimpressive performance of a student with an inflated reference will ruin the referee’s reputation for future students.
In being honest in their responses, most referees will not go out of their way to speak negatively—even if you have many weaknesses. In fact, it is not necessary to speak negatively. It is enough not to elaborate on positives, or to highlight the positive aspect of a trait that was negative in the situation. For example:
The professor says:
In the course he did with me, he was always willing to seek advice. He did not hesitate to check that his work was meeting my expectations.
The professor meant:
The student who had little capability to problem solve independently and spent a total of three hours on five occasions with the professor getting advice on a 15% assignment.
The recipient of this reference understands: This person will require a lot of supervision. That may not necessarily be a bad thing and may be appropriate for certain positions.
If the question is asked outright “how good a problem solver is he?” a referee would probably not say “he was awful.” The referee would be more likely to say something like, “with ongoing support he may develop better problem solving skills.”