There are a lot of public sector jobs advertised that discriminate against non-public-sector candidates.
For example you need to be a member of a professional body which is only for public-sector employees, or you need to have experience of a particular piece of computer software that is only used in the public-sector.
There is also the practice of tailoring the job requirements to an existing incubant. For example for a £30k job there was a long list of not very relevant requirements one of which was a Phd. I suspect this job had already been filled.
This practice locks in blinkered public-sector thinking and prevents new ideas entering the public sector.
To restore confidence in the fairness and impartiality of the public-sector
To prevent corruption (in its widest sense of using public resources to gain benefit of any kind)
To improve efficiency of the public sector
To reduce costs