Banks close accounts for all sorts of reasons, but most of them are not a surprise. If an account is inactive, they will normally write and see if the account is still needed. If the account is misused (e.g continually going into unauthorised overdraft or bouncing cheques) there would normally be some warning. In these cases, the bank would give the reason for closure if the holder called to question it.
For an account to close completely out of the blue, it is likely to be because of transactions that the bank suspect are connected to money laundering or terrorist financing, or other high risk activity. In these cases, as PPs have said, the bank will not say why the account has closed as regulations prevent them from doing so.
In those cases, a bank would generally have very good cause to suspect transactions before they closed someones main personal current account (which it sounds like this is). There is likely to have been a number of transactions over a period of time that build a picture they're concerned about.
You mentioned that your friend doesn't have a passport. Is she British? Could she have been sending or receiving money from a country that is sanctioned or otherwise high risk such as Syria or Iran? It might be worth her reviewing her activity to see what might have caused concern, and if she has evidence that it's completely innocent, being upfront with any bank she approaches next (with paperwork to support). But she is unlikely to get anywhere with the current bank if they have gone down the money laundering/terrorist financing route.
I wish her luck with getting an account, it must be very stressful to be without one for her benefit payments