If you are looking at a retirement annuity in which to top up your retirement fund contributions, there are essentially two types you can choose from. Eric Jordaan, a tax expert at Crue Invest, an advisory practice in Cape Town, outlines the differences:

Life assurance RAs
With this type of RA, you buy a policy with a life assurance company. The policy is, in essence, a contract in which you commit to contributing for a fixed term. On selling you the policy, Jordaan says, the broker earns a sizable upfront commission based on the premiums you have contracted to pay over the term. This commission is effectively borrowed from your future investment, with interest charged. 
If you want to cancel your RA prematurely, or can no longer afford the premiums, you are charged a penalty that is deducted from your savings. The amount of the penalty depends on the length of the time the contract has been in force, the remaining term to maturity and the terms of the contract. 
“These RAs are notorious for their distinct lack of transparency, which is frustrating for investors, who find it difficult to obtain information on investment performance, fees, commissions, and associated costs, such as administration and policy fees,” Jordaan says.

Unit trust RAs
A unit trust RA is not a policy, but a unit trust portfolio owned by you, Jordaan says. It is a more cost-effective and flexible investment than a life assurance RA. You are free to choose which funds to invest in, subject to Regulation 28 of the Pension Funds Act, which limits risk exposure in retirement funds. Investment performance of the portfolio is tracked, and all fees, including asset management, advice and administration fees, are fully disclosed. 
You can increase or decrease your contributions with no fear of penalty, and can make ad hoc lump-sum contributions. 
The costs of investing in a unit trust RA are “significantly less” than a life assurance RA, Jordaan says. In addition, the adviser does not charge upfront commission, but earns an annual advice fee, which is a negotiated percentage of the underlying investment.