The problem is, #3 is a huge unknown area. I've had good and bad experiences with #3. When I started doing contracting as a student, I could afford to take those crappy $1000 14-day assignments just because I didn't know what the hell I was getting into. I didn't have a track record so I figured I couldn't demand higher pay and I should try to get whatever -- I think quite a few newbie developers get into this mess too. Just because you're a nobody doesn't mean you should accept a job at a measly $15/hr rate.
Usually those $1000 snowball scoped projects take forever for the owners to pay up.
Usually those $1000 snowball scoped projects take forever for the owners to pay up.