What you are saying is true in some but not all cases... It's a bit more complicated than that and depends on how targeted your app/site is, as well as how much traffic you are getting.
Small startups with a lot of possible advertising topics can't solicit every possible niche. You would have to have a sales person selling bingo ads one minute, then the other niche, then the other niche etc. and then manage all those relationships.
What Adsense does is manage all that for you. No salesperson investment, no ad software investment, no prospecting etc. Also, Adsense does some other things like customizes the ad to the user's behavior (across sites), not just the page content.
Maybe what you are saying makes sense in the case of Demand Media because they have a lot of sales people.
But it's not practical for a small startup if they cover more than a few topics. They will end up with less-targeted run of site ads with lower CPM and more ad management headaches.