Because interacting with the advertising industry, or advertisers directly, is a lot more complicated than just slapping a banner spot on your page/app¹, and sites want to concentrate on with their core business rather than learning another one.
--
[1] finding people to advertise, negotiating rates, arranging reports of add positioning and response², detecting click-fraud, convincing your ad partners that you have dealt with any click-fraud & other such issues, convincing your ad partners that your agreement with them really did involve them paying you at some point before the heat death of the universe, etc.
[2] so they can marry that up with the logs of incoming attention on their systems