How to detect which is a bad link ?
The first step is defining what makes a link "bad". Everyone can agree a link which violates a search engine's terms and has a risk of getting the site penalized is bad. Your link builder should be intimately familiar with Google's Technical and Quality Guidelines.Any site which violates those guidelines should be avoided.
Another thought is links which do not add any positive value to a site should be avoided. One strategy is to install Google's toolbar and any page with a PR of 0 should not be used. There is a strong change the site has been penalized. Toolbar PR is updated only once every 3-4 months so it is not a great tool, but it can still help.
If you use the SEOmoz search you will find there are articles which relate to link building published almost on a monthly basis. A good WBF on the topic: http://www.seomoz.org/blog/whiteboard-friday-link-farming
In short, you know what good links look like. Links from reputable sites such as the New York Times, Time Magazine, government organizations like the FDA, authentic colleges such as UCLA, etc are great links to earn. You also know what bad links like. Link exchanges, paid links, penalized sites, spammy sites, low quality (most) link directories, etc. are bad links.
The challenge link builders face is their job is to build links but quality is always going to have a measure of subjectivity to it. A link builder is always seeking to boost their numbers, meanwhile if you do a bad job of link building you can cause a site to be penalized and removed from Google's index. You can also cause a situation where a lesser penalty is incurred meaning only particular pages or links are penalized. The client may lose a lot of traffic and not even realize it because the impact is not site wide. If you do realize the error, it can be difficult to fix because in many cases the link can't simply be removed so you need to bury it with good links (i.e. build 10 good links for every bad one).
Treat link building like marketing. When a link builder reaches out to the community and becomes a genuine part of it by becoming known in a positive manner, they have the opportunity to earn quality links. Spending time looking for blogs which do not nofollow comments, forums which offer followed links, article directories, free directories, link exchanges, footer links, etc. is mostly a complete waste of time. Links of such low quality that OSE cannot see them are mostly a waste of time. Clients want links which can potentially improve their traffic, and the link you just earned from a PR8 chinese web blog who allow followed comments isn't going to help with that goal. Google already decided before you found the blog site the link was of no value, but the link builder still builds the link and pats themselves on the back for their good "find', the client pays for the link, but receives no value.
How to detect a bad link? Put on your marketing hat and ask yourself if a search engine did not exist, is this a link I desire for traffic? If the answer is yes, it is a good link. If the answer is no, there is a strong likelihood you should look elsewhere for your link.