Hands down, Siropu Ads Manager. It gives them a fully self service banner system, takes payment, lets them monitor statistics and change their ad, sends email reminder when it expires, let's them set computer or geographic restrictions, etc. It can do discounts for longer terms, or even coupon codes. (we give a 60% discount, if they buy a 24 month pre-paid term, for example) We are selling banners that are random with all advertisers, which display after every 5th post and on top/bottom of all screens. It can also put the advertiser in a special XF GROUP, while their ad is active, so you can put them in a special section and/or put a special recognition on their posts as a supporting vendor. (we do this)
We also use it for our own internal banner locations (top right header, in the widget bar, and some mixed with paid ads) for holidays and random system slogans.
It isn't much for documentation, but easy enough to figure out.
We have ours set up so it is hidden, until we manually add the member to the usergroup that has access to buy ads. The menu to buy ads only appears after we have screened someone as a vendor we want. You could set it up either way.
This product has paid for itself on my sites 300 times over, in the past year.