- the boss has agreed to the role but has reservations, seeing a few candidates solidifies them and permission to hire us withdrawn
- the team is inexperienced at hiring and don't know what they want until they've seen a few candidates
- the company is hiring a new whole team. To make hiring easier, roles that are listed are "representative roles" - the total desired skill set across all roles is accurate but the company doesn't care what the split is, they just want a team that covers it. So a candidate who is a better fit for a listed role can be passed over in favour of one that happens to be the right jigsaw piece.
- circumstances changed since permission to hire was given, and no-one remembered to update the hiring portal; because unless you're actively hiring no-one looks at it.
This last one is quite common, because there are so many applications usually that no-one wants them in their email.
External recruiters might then re-advertise the job with the company name removed, planning to funnel people to the company and collect their 20% commission.
External recruiters with several jobs might merge them into one. $250k job for a senior java developer with 5 years finance experience + $75k job for a junior java developer = advertise $250k job for a java developer.
A company might have a slow, centralised hiring pipeline for some roles. Google has a recruiter check the candidate's resume before putting you into a lengthy 6+ interview gauntlet, but only at the end of it do hiring managers actually check if the resume matches an open job. And if course if it takes 2 months to get through the full pipeline, the jobs open at the end aren't the same as the jobs open at the start.
I might be willing to hire for two different levels of seniority/experience, but only one xor the other, not both.
Or be willing to hire for a role in Boston, London, or Zurich, but only one of those.