A person/team is on the staff of the software company, but their hours are completely purchased by the customer company. Mostly it is full-time work on one project.
A person/team is on the contractor's staff, and the contractors form teams for clients' projects.
The customer does not interact with specific developers. Mostly the result is evaluated. Communication is organized between the customer and the project manager (or team leader).
A developer is involved in a project based on the project manager's decision and can operate on different functions of different projects.
The contractor takes full responsibility for the development of the project or a part of it. The contractor forms a backlog, sets tasks, and monitors the implementation. The contractor's product manager or team lead communicates with the client.
Payment format - most often fix price, sometimes - time & material.