I will only take a contract position if that's the only way I can get a job doing something I know academically -- I studied the technology and did a side project -- but don't have any on the job experience.
I agree. Good ones always have good options. I avoid contract to hire, because even a talented developer who chooses to stay as contractor will avoid contract-to-hire positions.
I guess you just have to go with who you think is the best candidate, and if the decision turns out to be incorrect, fire quickly.