I think Adsense appeals to those who run large sites or networks of sites and don't have the time to manage and promote each individual affiliate product/service. From experience I know affiliate programs change from month to month, specials come and go (and expire) and you are always maintaining the ad code, making changes to the sales text (for some legal change requested by the company), etc. It can become a full-time job for some site owners. Adsense on the other hand can be added to your site and left to run on auto-pilot once you get it configured and placed properly. While I agree there is more money to be made by cutting out the middle man, some of us prefer to have more free time on our hands and hire that middle man to do the dirty work... =)
My experience: AdSense adds to the content if you have a blog or forum For other type of Web sites, I dont lean toward AdSense(...)
I have had this same argument in my own head many times and have been back-and-forth with my opinion. I have even experimented with just using adsense and just using CPA ads. I have found that after a month they both come about the same as far as the money earned goes. As other have said, actually converting higher paying CPA ads is hard and the higher the commission the harder it gets. However, adsense is instant income with every click. So when it is all said and done both methods come out about the same in my opinion. The only exception is if you are in an extremely lowing paying niche then I agree adsense is useless.