The most important thing to understand about "PEO vs staffing agency" is that they aren't competing for the same dollar. They solve different operational problems, and the companies that confuse them tend to waste money in both directions.
A staffing agency recruits and places workers at your company for a defined engagement. The agency does the sourcing, screening, and selection; you accept (or reject) the placement. The agency is the legal employer of the placed worker — they run payroll, withhold taxes, carry workers' compensation, and provide whatever benefits they offer to their internal workforce. You pay the agency a bill rate (worker's pay rate plus a markup that covers the agency's overhead, taxes, benefits, workers' comp, and profit margin). Engagements range from a single day (day labor) to long-term contract (12+ months), often with a "temp-to-perm" conversion option after a probationary period.
A PEO does not place workers. It does not recruit. It does not source candidates. Your existing W-2 employees — the people you already hired through your own process — enter into a co-employment relationship. You remain the worksite employer (you manage them, decide their work, set culture, handle performance). The PEO becomes the employer of record for tax purposes, sponsors the group health master plan they participate in, holds the workers' comp policy that covers them, and administers payroll, ACA reporting, and HR compliance on your behalf. Employees never feel like they "work for" the PEO; they feel like they work for you, because operationally they do.
Cost structure differs as much as function. Staffing agencies bill on markup over pay rate, typically 25–60% depending on skill level and engagement length. A $25/hour placed worker costs you between $31 and $40 per hour all-in. PEOs charge a fixed PEPM ($80–$220 per employee per month) or a percentage of payroll (2–6%) on top of pass-through pay and benefits costs. The two models are not interchangeable; they are not even in the same category.