When a recruiter is working on a retained basis she is free to tell everyone the name of her client company because even if someone uses that information to apply on their own she is still going to be paid.
And people do try to bypass the recruiter. Once, I gave a woman a long interview just because she thought she was good for the job and I wanted to give her the benefit of the doubt even though I knew it wasn't likely.
When my project manager rejected her she applied directly to the company and in her cover letter told the vice president how stupid I was not to recognize her virtues. I know because the client sent us her application.
Another time, after I told a nice young woman that she was too junior for a director's role, she applied directly to the company on her own. When the client sent us her application I sent it back to her and she replied, "You can't blame me for trying. I hope we can still be friends." But that's not a good way to make friends.
If a contingent recruiter tells someone the name of his client and that person applies on her own the recruiter will not get credit for the hire.
That's why contingent recruiters are secretive at first. They don't want to give you the company name until you show that you are interested in working with them by sending them your resume.
Sometimes a recruiter has to keep the name of the client a secret because the company doesn't want the competition to know what it is doing. Usually, however, they want the relevant people in competitor companies to know about their jobs.