Many small businesses usually cannot afford to keep a high paid web developer on staff. It is to their advantage to hire remote workers on a contract basis by the job and not have the extra overhead of a full time on site employee. I have worked on this basis with my current client since 2007, to build out their web report dashboard. They send me an rfp with a spec(or not) and I respond with a quote of approximate days and hours. Every month or so I send them a bill with the accumulated hours.