Referral marketing uses your existing customerbase as marketing vehicle, affiliate systems tend to focus on other businesses that send you customers in return for a split, and as a rule you would find far fewer affiliates than you would have potential referrers in a referral marketing situation. Referral marketing usually centers around discounts, where as affiliate marketing centers around profit sharing, splits or one time fees for a sale.
The differences, even though there are many are subtle enough that it may be possible to use the one for the other.
1) Set up a script that spools all existing customers into Post Affiliate Pro (PAP) and gives each of them a unique ID
2) Set a similar script to run when a new customer places an order (enter new customer into PAP database and generate referral ID)
3) Set up a page on my customer portal that allows each customer to see his/her referral ID and gives a bunch of choices to refer friends (email with a plugin that finds all friends in address book for services like Gmail/Yahoo; banner ads; text link). Pull the link by sending an auth token with the customer ID to the PAP API.
^ In #3 above I'd do this instead of referring them to the PAP customer portal, which seems overkill for this scenario, and would set up a multiple login nightmare.
4) Integrate PAP and my shopping cart/customer database so when a customer refers another customer and that referral is approved, it shows up as a credit in their account.
Of the above, #4 is the tricky part, and depends on their shopping cart/billing software. It may be easier to hire a VA to manage this, at least at the beginning, esp. if the customer database is homegrown.
Disclaimer: PAP or iDev may have easier ways to do this; this is based on my own experience with PAP, which was admittedly a different integration. But as a programmer, this is the working thesis I'd start from.
I've thought about writing a plugin, but haven't found the time yet. I'm travelling with infrequent connections, so I might not get back to you for a day or two if you send an email.
Trusting third parties with the email addresses of all your customers and prospects is not always wise.