A good bug report is one that describes the problem well enough that someone familiar with the project can understand and act on that bug report without talking to the person who wrote it.

You should read Mike Hay's post right now and enforce your coworkers, testers or clients that give you good reports.

For UI bug reports (on iOS) I recommend Marco's App: Bugshot. He even open sourced the core of the App (BugshotKit) so you can integrate it in your own App.

bug report.png

A good recommendation is to only accept bug reports via a form. A good example of this, at least for the fields, is the Apple bug report site.