Firms in this category recruit software professionals and then hire them out to buyers, typically in staff augmentation arrangements. They are essentially a broker, bringing together personnel and employers and charging a fee for every hour worked.
Contractors are good for well-defined jobs where you don’t mind providing supervision and direction. You are paying for their time like you would a regular employee, and they will need direction just like a regular employee would. If this is what you’re looking for, this route is usually the least expensive of the three.
The downside of this arrangement is that the contractors may spend most of their time onsite with clients, and may not have deep connections with others at their firm or with independent technical experts. This means that, if they run into trouble, they may not have someone they can quickly turn to.
Another downside is that contractors, depending on their experience, typically have an employee mindset, meaning they do what they are told to the best of their abilities. Unlike consultants or freelancers, they may not be looking out for the overall wellbeing of the project.