Recruiter perspective:
I admit there are some really bad recruiters. And they don't improve, because either A)Lazy or B)What they do works for them.
There are two reasons why a recruiter won't release a client name initially. 1) Some recruiters use a fake position to engage a candidate in a conversation 2) Most commonly, a recruiter does not want a candidate to go around the them and apply directly or tell another recruiter about the opening. It happens and it sucks.