I worked previously as a recruiter including with a couple of staffing agencies.
Yes, it is common practice for agency recruiters to request that you withdraw from any other positions, including to ask to be BCC'd on messages to those other opportunities/recruiters/hiring managers. They are trying to do everything they can to land the deal, which includes asking you to sabotage your processes with other potential employers. This is standard practice and new recruiters are trained by upper management to do this.
It is also common practice for candidates to lie to their recruiters about competing opportunities. Quite often candidates would tell me they have no other ongoing search activity, but then when I attempted to schedule them for a next round interview or let them know of an offer from an end client, they would decline letting me know they have moved forward with something else.
In case of asking to BCC, almost no candidates were OK with this, and it almost never happened. Especially if the agency is aware of one of their clients intending to hire you, they are highly unlikely to withdraw you because you aren't willing to withdraw from other opportunities. They understand that what they are asking is unreasonable, yet they are doing as they were trained, and they expect you to refuse or to lie. Worst case is that they really don't have an offer for you, but they want to get "leads", or the names of hiring managers at other companies, so they can solicit them for business.
Unfortunately you will have to trust your intuition on how much you can trust what they say. But just that they are asking you to withdraw from other positions shouldn't be justification to not work with them, as this is standard practice.
You absolutely should not withdraw from other opportunities. Numerous times I have had end clients withdraw an offer last minute, sometimes the day before the scheduled start date. You don't want to be left with nothing.
Yes, unfortunately it is also common for offers from staffing agencies to be without much detail. The communication pipeline within staffing agencies is often quite challenging. There are usually a number of recruiters per account manager. The account manager owns the communication with the hiring managers of multiple end-companies. The account manager is responsible for relaying information back to the team of recruiters, and to forward communication from the recruiters back to the hiring manager.
It isn't necessarily the fault of the account manager or the recruiter working with you to have few details. It very well may be that the hiring manager isn't very interested in being clear with the account manager, as often there is a strained relationship between the end company and the staffing agency.
A common scenario I encountered was for the account manager to inquire with hiring manager after the final interview, to ask if they would like to proceed with onboarding the candidate. Replies can be as brief as: "they were OK let me know if accepts." Then, the account manager tells the recruiter the hiring manager wants to move forward, and to go ahead and let the candidate know, and to let them (the account manager) know if candidate accepts, then will contact the end company that the answer is a yes.
It's a big game of telephone, if you know the expression. Many layers, significant delays, frustration from all parties, missing details, etc. The hiring manager usually isn't interested in having a conversation with the account manager about start date, workspace, or any conditions unless they know that the candidate accepts. The account manager is juggling multiple offer processes with other clients, your recruiter has 30 other candidates they are working with at various different phases of the process (scheduling interviews, etc.), and nobody has time to spend on what they perceive as hypotheticals.
In terms of no salary information, that is very uncommon, if not impossible. An agency typically cannot formally submit a candidate to an end client without specifying the financial information related to that candidate. More-so it would be highly unlikely for a hiring manager to be able to make a hiring decision without knowing how it would fit into their budget.
The agency can't specify the financial information unless they have discussed with you about your rate or at least an acceptable range. It wouldn't make any sense for the agency to submit you, get you an interview, get the client interested in hiring you, and then find out that your salary expectation was too high to allow for the deal to go through. That would waste everyone's time, so perhaps sometime earlier in your conversations with your recruiter you did agree at least to some range?
With that said, at least on the contract/consultant/temp side which was most of my experience, the vast majority of the offers I extended via a staffing agency were verbal offers only. Definitely no official offer letter, no information on parking, no information about the work environment, dress-code, work hours, perks, etc.
I would bet UK law requires an employment agreement which the agency will send to you to sign, which does stipulate the rate, title, and other required legal information, but that is usually the last step after the candidate accepts the verbal offer, and the account manager has finalized the deal with the hiring manager. Verbal offers were typically worded along the lines of "...the exact rate is TBD, and it depends on how the client wants to level the role, but as long as the rate meets the range requirements we discussed previously, do you accept this position?"
In case of having only discussed/stipulated a rate range, once the staffing agency has secured the deal then they will crunch the numbers and see where your final pay rate lands. It isn't always at the bottom of the range. Sometimes the contract with the end clients stipulates a set mark up, and the resulting pay rate might be higher than what you were expecting. This happens because the agency wants to maximize the rate they are charging the end client, so if they know that the end client was prepared to pay a rate higher than would be required to meet your salary expectation, the agreement may stipulate that you have to payed an equivalent rate.
I've extended offers of $80k to candidates who were only requiring $60k+. Of course if there isn't a set agreement, the agency will bill the client as much as they can, pay you as little as possible, and pocket the rest. Within reason: the agency doesn't want you to quit as soon as you secure a better position. Despite all the bad press about staffing agencies, and all the waste and misinformation in a horribly inefficient process, I have found that for the most part pay rates do align pretty well with the greater market, because if they didn't nobody would agree to work with them or at least stay working with them for very long.
In summary, as a new worker, I would suggest working though a staffing agency as a last resort, as the process of going direct through an employer's HR department is much easier, more transparent, typically better paying, and more secure. If sometime in your career you want to explore being a contractor or consultant, then you will unfortunately have to work with staffing agencies. At that point it is beneficial to find a few agency teams/companies who you can work with and who won't drive you crazy.