by Steven J. Owens (unless otherwise attributed)
If you're a technology professional (programmer, system administrator, engineer) and you're job hunting, there are five different kinds of companies that you may end up interacting with (I say "interacting with" because phrases like "may be helpful" or "might be of use" are a little suspect in this situation :-).
Consulting Shop Contract Shop Headhunter Recruiter Resume Banks/Job Board
Let's take care of the simpler ones first. A resume bank is what it sounds like - they serve as a gathering point for resumes. There are legitimate resume banks, often run by professional organizations or business organizations (the local high tech council, for example), and these days there are several good resume banks on the Internet.
About ten years ago it seemed fairly common to find people trying to con job hunters out of huge sums (one asked me for $800) to get listed in their resume bank. Usually they use fairly deceptive practices, like taking out a want ad in the newspaper describing a good job. When the job-seeker calls, they find out that the job they're calling about isn't available (hypothetically it described a real job the resume bank actually needed to place somebody for, not that I've ever seen proof), but for this modest fee they'll put you in their bank and help you find a job. Yeah, right.
In general it seems the dead giveaway is when they ask the job-seeker for money before you get the job. No reputable firm I know of will ask you, the job-seeker, for money. They get their profit either as a fee paid by the hiring company, or as a markup on the rate they pay you (i.e. you get paid $30/hour, but the company gets billed at $50 or %60/hour), or sometimes they negotiate with you up front to get a percentage of your salary.
A recruiter is the closest to what people normally think of when you say "employment agency". They're specialists at doing the legwork involved in recruiting - advertising, gathering resumes, sifting, sorting and selecting resumes for further recruiting, preliminary interviews and prequalification of candidates, etc. They get paid by the hiring company.
People will often throw around the term "headhunter" quite loosely, but from what little I know, it originated as a term for high-level executive recruiting - people who are hard to find. I've never been one of these high-level executive types, but from what I hear they tend to work more on the concept of developing a long-term relationship with job seekers. Again, they help take care of the legwork of recruiting, only this time it's from the job-seeker's side.
For contracting and consulting shops, refer to the Job Shop Life essay in this directry.