If a recruiter tells you the name of the company up front and you are really interested, you might ignore their message and just apply to the company in which case they don’t get their referral fee.
I can imagine people going through the extra work of avoiding the recruiter if they think it will increase the odds of they getting the job (what means they think the recruiter is incompetent or dishonest), or if working with the recruiter is even more work than going without (what again means the recruiter is incompetent). But I can't imagine people doing that without a problem by the recruiter part.
I can also imagine many developers sending the emails directly to the trash, and latter finding out about the position and applying by themselves. That could give one the wrong impression.
So, not a legit reason not to share their client's name.
Most recruiting firms simply avoid publishing the companies name publicly. Companies are very protective of their branding.
For all of those people who say it's about money are only going off of what they think. If these people tried to do recruiting they would learn the following:
1. Companies won't just accept candidates from any firm. In fact, there are legal contracts in place between the agency and company. 2. Agencies know that submitting your resume to the company isn't very productive. Recruiters have direct access to hiring managers and it's one of the "perks" of using a recruiter.
I know recruiters come off pretty "disrespectful" or "uncaring", but there's another side to the story. I'm an engineer and I decided to do recruiting for a year and learned a great deal about it. I thought my engineering experience would play a huge factor in finding the right people, but what I come to learn was people are very difficult to work with; especially us engineers.