My understanding is that a company might use a recruiter because their in-house talent scouts have had trouble finding good candidates. Because they're using a service, there is an extra cost. However, rather than employers incurring that extra cost, I feel like the recruiters are passing that off to me, by putting me in at a lower rate. And, that seems dishonest.
There are two placement models here. One is for full-time, salaried placements, and the other is for contract, hourly placements. For salary, the salary offered comes directly from the company. For hourly placements, the paycheck comes from the staffing agency. Typically the rate offered through a recruiting company is less than what that person would ask for if they dealt directly with the company.
Is it unprofessional to ask recruiters what their cut is, or what the total cost is that they're submitting me at?