my experience is that affiliate programs don't work well on informational/content sites.

if one really wants to sell something....make a small sales-oriented site.

for sites with lot of content, Adsense is best.

such sites get very diverse traffic and Adsense is only program that can adapt itself to what the user is looking for.