Not sure though but i think adsense base their ads on the site's description you put in your adsense account.
Ok from what I know if you pick a low competitive niche with a low cpc keyword you will get less when ppl click your ads. I’m assuming google reads the content of your site and displays relevant ads. However what if you threw in keywords that are similar to a high cpc would you not get more high paying clicks then? for example your site is mainly on a low advertising cpc like football for example and if you through in some high cpc competitive keywords like betting or something would google not give you some beting ads which will be worth much more per click?
AdSense is contextual advertising, which means it is related to the content on the page. Google sends a special spider out to analyze the page and determine which types of ads to display.
"Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote." -- Benjamin Franklin
I think it depends on your targeted keywords and related niche