Because we do very rigorous analysis of why successful employees are actually successful. We know what it takes to perform well at each job function.
>>And what makes you think your salaries are "very generous?" Lot's of companies think their salary/benefits packages are "very generous" when they're anything but. Without context your post is a giant meaningless assertion.
Lots of websites aggregate salaries by position and geographic region, so we know the numbers. We also have very good benefits. For instance, our 401k program is a dollar-for-dollar match up to 15% of salary, which is extremely rare.
Software developers (supposedly) aren't stupid. Applicants for software development positions on the other hand...
Partly both, but also missing a qualified applicant often costs far less than making a bad hire.
The ratio of decent hires to bad hires needs to be as high as possible. In comparison, the percentage of qualified applicants thrown out almost doesn't matter (unless it gets to something truly absurd like 90%). (Really it does matter, just not compared to making bad hires. Interviews and delays are still expensive, just less so than failing to get new employees up to speed.)
Interviewers that make bad hires are terrible. Interviewers that turn away good hires are merely bad.
Software developers aren't (typically) stupid. They have a reasonable idea of the value they provide the company. My estimation is that almost every company under-compensates their engineering staff. I doubt yours is an exception.