I tried using ModernBill (now being rebranded as Parallels Plesk Billing) for two years, and finally switched away to WHMCS. WHMCS is secure and reliable, has a great feature set, adds features with every major release (and doesn't break the old ones), simpler to configure than ModernBill, and costs less - both to buy initially, and to renew support.
PPB and WHMCS both accept recurring billing (either through Paypal, or through another merchant gateway) and will charge the client monthly without your client having to do a thing.
Parallels Plesk Billing (formerly ModernBill) licenses based on how many active users you have. WHMCS charges one price for owned branded, and another for owned unbranded. There's no difference in cost based on how many active users you have.
Plesk Billing also now no longer has an owned option. This kind of stinks, since depending on product stability and flexibility you can end up paying less with owned software than with leased. (Though if you just want to test it out, or use it for a small number of clients, their 10-user demo license is apparently free. I don't know how long that demo license lasts...but it still doesn't give me any option to own rather than lease.)
Promotion codes were supposed to work in Parallels Plesk Billing v5. They didn't when I was using the product. They do work in WHMCS - you can add promotion codes, decide which products they apply to, and limit the codes by number of uses or expiry date. (You can probably do more - but I haven't explored this feature thoroughly.)
Affiliate tracking works well in WHMCS. You can track referrals, clients can get their monthly reports via email or at the site, and you can set conditions on the payout (referrals only on certain products; referred clients must remain active for a set period of time before the payout; referrals based on percentage or fixed amount.)
Emails sent out by WHMCS are fully customizable.
WHMCS generates PDF invoices - and the invoices are customizable as well (not as easily as the templates or the emails, but they are customizable.) It's a simple matter to swap in your company's logo - but other bits of the PDF, like wording, font, and layout, can also be customized with a little work.
ModernBill's team said that v5 could be used for bill people for many types of things, including software products - but last time I was on the ModernBill support forums (early 2008), people couldn't easily use it to generate one-off or variable-cost invoices for things like development, freelancing work, et cetera. It may have gotten better since Parallels bought them - I don't know, and don't care. I own an unlimited license with MB (bought it when v5 was set to launch and was demo'ed so prettily), but it's unlikely that I'll be using it. At the present time, WHMCS is just so much easier for configuration, client use, customization, upgrades...you name it.
I also have some concerns about any software acquired by Parallels. They own Plesk, and in the past six years have bought many other hosting software products (Helm, now ModernBill). I worry about product consolidation, like what happened to HomeSite once Macromedia bought Allaire (Homesite's originating company). Logically, Parallels won't need umpteen bajillion control panels, billing software solutions, et al. There may be some shakiness while they cherrypick feature sets and codebases from among their acquisitions and consolidate - or there may be the continuing compatibility problems, such as Helm's no longer working properly with SmarterMail. At any rate, I was dissatisfied with ModernBill before Parallels bought it and rebranded it as Parallels Plesk Billing. I don't have much more confidence in it now...and I've found a solution that does everything I need it to, and has plenty of room to grow.