It's true that that setting keeps doctors and nurses in rooms once they're in them, but it's also kinda annoying to have that option on, especially in the later levels when you have a bunch of clinics that aren't in constant use. With the "staff stay in rooms" option on, you either have to micromanage staff for those rooms or have at least as many staff members as there are rooms. For example, I might not have any jellyitis patients for a while and want my doctor to go to the hair restorer and cure people there instead; with the option on he won't do that.
But this option is useful for controlling staff in situations where you need them to stay put - for example operating theatres, or to keep your highest-skilled consultants in the GP's office where they belong instead of running off to a diagnosis room every chance they get. I definitely think that there's an argument for some kind of halfway house between "Staff ALWAYS stay in their rooms" and "Any staff member might go running off if a room needs one".
What I always thought would've been nice in the original game is if staff members who were dropped into a room would then not leave that room until they became tired (or until another staff member was dropped in to replace them, or they were picked up and dropped somewhere else). That way if there's a specific person you want in a GP's office or you're trying to collect surgeons, they stay put for a while - but as soon as they're tired enough to want to go the staff room, they leave and some other staff member is summoned.
Once they're done in the staff room, they could either just join the pool of available doctors or return to the room they were dropped in - not sure what the best option would be there. Probably just going into the normal staff pool, for ease?