Sometimes the not-so-good sites have been listed for some time and have either changed since originally listed or were listed when listing criteria was less stringent; we don't always have the manpower to review existing listings for quality assurance. If you have noticed some sites that you think no longer meet our listing guidelines, you can report them in the Quality Control Feedback forum -- there's a thread stickied at the top of the forum for just that kind of thing.
Sometimes editors make mistakes and list sites they shouldn't. Those are usually caught by other editors but sometimes they slip past.
Sometimes there's editor abuse but that's a rare occurrence overall. And we deal with it very seriously.
As for why good sites don't get listed, the usual reason is simply that no one has chosen to edit in that area to list those sites. I know that seems facetious but really, if, say, I choose not to edit in category A today and no one else does either, then nothing gets done in category A today.