Major top tier acts can request an opening act. - mostly because they may have a friend or two in the opening act and they wanna give them the exposure.. Record labels can arrange opening acts, by trying to get opening acts signed to the same label.. Management can also request specific bands.. Typically it's what band is available, that will do it for cheap, that is an up and comer, that won't blow away the headlining act, but sell a buttload of tickets..
The promoter will often have a hand in it as well.. The promoter has a vested interest in the show.. They set up the show, agreeing to pay the headliner a set fee.. then they hafta pay the venue, the staff, the opening acts and everyone else with their hand in the event.. So, the promoter wants a band who will sell tickets, who, again, doesn't make much money.. that ups the chances of the promoter making money after paying everyone off.. Promoters DO lose money, sometimes, if the show doesn't sell.. they still hafta pay everyone off, regardless and 8ve seen promoters lose their asses and be out of business..
I've had stiffs open for me and the crowd was half asleep when we went on.. it sucks.. so, you want a band that will energize the crowd, but not be a threat to the headliner.. If a headliner feels threatened they'll start pulling things from the opening act - like no sound check, only allowed to use so many lights, no effects or props, shorten their set etc..
Traditionally opening acts don't make a ton of money.. We opened for WASP in Dallas and got paid $100.. Pretty typical for local bands opening for national acts.. Why? Cuz a 100 other local bands would jump at the chance to be on the big stage in front of a major crowd for free.. the experience is amazing.. I can tell you that.. but there's no money in it.. just exposure..
Friendship is like peeing your pants.. Everybody can see it, but only you can feel the warmth..