The overwhelming answer across the board is age, and you want to know something? That pisses me off!!! Let me explain.
For starters, discrimination is unacceptable. I don't care if you are green with no arms, 3 legs, and like your dog in a very questionable way. (If that is the case, please do not come near Sulley, our mascot!) If there is something about you that has not been a choice (aka: race, gender, age, disability, sexual orientation, etc.), this should have absolutely zero indication of your previous performance or future ability to perform a job. So long as you are capable of performing your role with reasonable accommodation, you should be considered for the role and interviewed. From there, if you fit in with the corporate culture and demonstrate the best skill set (and attitude), you should be hired. Plain and simple.
But in today's hiring culture, things are not so cut and dry. Older people are being told they are "overqualified". What the hell does that even mean? If they are capable of, and interested in, doing a job, will accept competitive pay, utilize the knowledge they own.
Are managers afraid that someone will retire? One of their employees can get hit by a bus or approached by a recruiter tomorrow. Stop being ridiculous! Give experienced people a change. Many of these candidates have excellent, stable work histories, a wealth of knowledge, the capability to train, lead, and encourage younger employees, and what they lack may be a sick, young child at home, needing a lot of days off. (Don't get me started on how many days schools are closed!)
Companies are afraid of paying higher health care costs? Young employees get seriously ill sometimes too. Many people in their 50's want to work 15+ years before retirement. Let's give them a chance. If we are lucky, we will be there someday too!