This all depends on the company and what policies HR has instituted. At my current (20k+ employees) company HR controls everything and the hiring manager has effectively no input prior to the interview. Here is our procedure:
Not saying your process is a good one (seems to suck, and probably partly because of the people involved) but I bet you these are some of the reasons this stuff exists:
1. Manager gets approval from his VP, hiring committee, HR, and the Pope to hire someone and asks HR to start the process.
At some point the CEO asked someone, "how big is our company"?
Someone said, "xx people."
The CEO said, "what if we filled all our empty positions today?"
Someone went into your recruiting system and said, "xx people times 4." The CEO said, "WTF??? That's not right. What the hell are you doing down there in recruiting?"
Someone said, "Recruiting on everything we've been asked to fill."
The CEO said, "We can't afford all those hires so you're wasting a ton of time, you inefficient fuckers. Go make sure it's all real positions."
Recruiting then spends 6 months trying to get hiring managers to respond and confirm whether they are real positions. They close a bunch of outdated junk. Now you're down to only real positions. This gets presented to the CEO.
CEO: "Finance, can we afford all these positions?"
Finance: "Oh totally not. We'd go bankrupt if we hired all these people."
CEO: "Recruiting, why are you hiring for all this stuff we can't afford? Work with Finance and figure out how to budget for headcount and only recruit for budgeted positions."
Finance and Recruiting work out a budget and process to make sure everyone stays in budget. Now you need to get approval from everyone and God to make sure your position is being prioritized appropriately compared to all the other positions in the company because $$ is a limited resource.
2. HR asks him what the position is. The position MUST match an existing job title + description already in the system. Creating a new job title (or new level) takes several years.
This happens because back in the day when this wasn't being done, a Business Systems Analyst turned to his buddy, a Systems Business Analyst and they started comparing compensation and found out that one makes $60k a year and the other makes $45k a year, doing the same job. They complain.
This gets raised up the chain, big old fuss because clearly this isn't fair, and find out that these two guys were hired at the same time by different managers who had totally different views on salary. A little more investigation shows that the market rate for a BSA is actually $55k. This makes the underpaid guy happy but now you've got a probably with the overpaid guy.
So now you've got a Compensation team that analyzes job descriptions and duties, runs a pretty serious analysis to figure out how much that role should be paid per the market and the area. Because you can't pay a BSA in Iowa the same as you pay a BSA in San Jose. Either you're making one rich or the other one is starving.
Assume you have a company of 30k people. You probably have 6k open positions (conservatively, depending on your line of business.) How many of those managers want to create a new title and job description? Your comp team is maybe 5 people. Most requests that are coming in are going to generally fit one of the 4k job titles they already have in the system, and they have to figure out which ones actually won't so they can run their analysis.
Managers may be absolutely convinced they have the one unique position in the company that needs to be leveled, but if you take the manager's word for it every time you go right back to your BSA scenario above, which is bad for retention, bad for using company money efficiently, and bad for everybody involved.
And honestly, managers don't always have the perspective to KNOW if there's a title/description/comp set that matches their requirements. Managers don't spend all day staring at the big list of data; there's no reason they should be able to know at a glance if there's a design that matches their needs.
3. Hiring manager unhappily accepts the closest job title, which may not pay in the right range or have a description that is at all applicable to the position.
Titles are a matter of label. Managers should be picking the position that matches the description/comp range and who cares what the comp title is? Every company I know uses a different set of formal titles and comp titles. So one company calls someone a "specialist" and another calls them a "coordinator". The manager may have a preference, the candidate may have a preference, but honestly it had to be standardized one way or the other in order to have an adjoining set of data attached to it and it doesn't truly matter since you can call the person by any darn title you want.
4. Position is posted a month or two later. Why? Hell if I know.
Well, we all know recruiters are useless and a drain on company resources, right? So we should hire as few of them as possible, since they're basically a waste of space and don't produce any real product.
Oh wait, that means that you now have a recruiting department where each recruiter is handling 80 requisitions instead of the industry recommended 15 per person. But seriously, it's just a posting. That's what admins and temps are for!
Except your recruiting team has 10 people to an admin. So to go through the job board data entry process, which requires a hundred clicks or so, and given that there is a queue of 400 requisitions, all of which are prioritized lower than the 15 offer letters that need to be hand-crafted by the 2pm mail time because nobody wants to give HR $750k for a system that would generate them automatically, your requisition has to wait. That and half the job descriptions submitted were two lines and need to be sent back for more data, plus the html to make the description readable may need to be hand-added if you're posting on something like Monster, oh and you have to add the employment branding and info about the company, you're now talking 20 minutes per posting.
5. People apply. Since the job descriptions are all very, very generic you get a wide range of applicants, most of which would be a lousy fit. 99% of the applicants who would be great and would have applied to a good job posting do not apply.
Back to your overworked recruiters. They are trying to go after passive candidates, they know that is exactly what you want, and they are working the social networks (and pissing off everyone that's ever handed them a business card), cold calling into companies when they have 5 minutes but also trying to be legally compliant so they don't get sued by your competitors. Did you know employee referrals are typically 40+% of a company's hires? The recruiters do, and they are always trying to walk the fine line of begging for referrals and pissing of their client groups.
6. HR screens the applicants. Since they go by the flawed job description, they usually weed out the best candidates for one reason or another.
HR isn't an expert in your field; give them a list of exactly what they should ask. And it does sound like the #1 broken thing in your company's process is that the hiring managers don't write the posted job descriptions. That's a crock.
7. Time for the interviews!
Wherein HR is hoping to God that the socially-awkward brilliant person on your team who was (rightly) too busy to attend interviewer training doesn't ask the candidate if they have kids, causing a lawsuit.
8. You find an awesome candidate. You tell HR.
9. HR sends the person's resume and job posting to the HR pay team who determine what range you can offer at within the pay band. Their determination has nothing whatsoever to do with how good the person is or their skills, but instead is determined by how well it matches the (flawed) job posting. The best candidate in the industry who doesn't meet the exact education desirables and who has <10 years of experience will be at the absolute bottom of the pay band.
You found the perfect candidate, SUPER qualified, and you're delighted, you'd offer just about anything. So you offer, they counter, you go up, they accept, they start. A year later they're overqualified and leave. Or you brought them in at the top of their pay grade (which is in line with what other people doing that job are making) and you can't increase their salary even though they've done great work and they get pissed. Or you increase their salary, they later switch teams and suddenly they are paid way more than people doing their same job.
Your difficulty finding the candidate does not necessarily correlate to the candidate's worth. Time of year, condition of the job market, dumb luck, these all feed into you picking that candidate.
10. Person is offered the position, hopefully accepts, etc, etc.
And, if HR did their job right, you've got someone who is mid-level in their role with room to grow, learn, earn raises, be happy at the company, moderately satisfied with their pay, and will be a long term good employee.
If HR did their job wrong, you have a specialty player who does the job great for 6 months and gets bored, causes dissension in the team because they're compensated more than they should be, has tons of problems in all the systems because his title/pay data doesn't line up with anything, and quits a few months later because the company is incompetent and has done nothing to grow, challenge or take care of him.
I'm not saying your company made all the right choices for all the right reasons. It sounds like a lot of dumbfvckery in general. But be sure to separate out the dumb decisions from the necessary decisions. Requiring standard comp titles and pay ranges is a necessary decision that benefits the company and employees in the long term. Having HR write generic job descriptions is a dumbfvck decision that should be rescinded.