I'd think a HC needs to be able to implement his system. That means different types of players. So if he plays a 3-4, he needs a nose tackle. That's different than a 4-3 defensive tackle. So he tells the GM what kinds of players he needs, maybe even offering some preferences (maybe some strong preferences), and giving his reasons why, but at the end of the day, the GM is the one who makes the call. Obviously there'll be friction if the GM gets players he (the GM) likes, but that don't fit what the HC wants to do.
The GM knows about the salary structure, does the negotiations, manages the cap, and could tell the HC, hey, we wanted to get one of these three guys you like that fit your system, but we couldn't get A or B (maybe they asked for too much $$, maybe there were character concerns, etc.) but we got C. And then it's the HC's job to make C work.