Having dealt with the budget and set adoption fees with the local animal shelter I know what goes into this. At our shelter we received a bit over $500,000 a year from the county. This ALMOST paid the salaries for the staff. We raised an additional $150,000 to pay the rest of the salaries, buy food, pay for vet care, pay for licenses, phone charges, computers, software, cleaning, equipment maintenance, office supplies, animal control and care equipment, etc., etc., etc. We also raised $250,000 to set up a clinic to spay/neuter our own animals. That money paid for the equipment and renovations for a surgical suite and recovery area - but no operating costs. This reduced our per animal spay/neuter cost from $65 to roughly $48. (This is an average.) We also vaccinated all adopted animals for rabies (just under $5 per animal), other vaccines (~$5-10 per animal), tests (HW for dogs/Leukemia for cats - ~$12+ per animal depending on the test). The adoption fee for cats was set at $75 - which just covered these costs and did not include any of the care for that animal up to the point of adoption or for any of the animals that never did get adopted. We did provide a microchip for an additional $25 (included both microchip insertion and registration - and I got pretty quick with the insertion after so much practice.) A number of local vets provided reduced fees for services, but they still have a business to run and they were not free by any means.
The normal for spay/neuter at a vet for a cat around here is roughly $100, and that doesn't include any shots. The local low cost program will provide the surgery plus shots for $60, but does not include any lab tests.
Rescue groups generally tend to have higher charges. They have less overhead since they're usually in people's homes, but also have higher vet expenses and less fund raising capacity.