From what I understand of Google's contextual program, their robots perform a semantic analysis of your adgroups and compare them to the semantic analysis of content pages. Therefore, if you have a highly diverse adgroup it will generate some nonsensical matches for you and perform poorly. It's best to have semantically similar keywords grouped together to make it easier for the system.
I'm not fond of the contextual systems currently available because they are, by and large, blind systems. As an advertiser I don't know if my ad is going onto Sam's site o' spam or Carl's credible content catalogue, and neither does the system. Google does have a blacklist tool, but you have to know which sites you don't want to list on and we all know how useful that kind of tool is in the fight against clickfraud.
That said; I do have a profitable program with Google content.