Company pensions and public sector pensions are best, if either is on offer then take it.
Private pensions are OK if you are earning a lot and are a fairly tax efficient way of saving. But only if you work in the private sector.
As a rule of thumb, £100,000 in a private sector scheme will buy you an inflation linked annuity for about £3-4000 per annum when you retire. The £100,000 is taken by the Pension Company. So, to get a typical teacher's pension of £15000 to £20000 per annum you would need to contribute £400,000 to £500,000 over your working life (based on 40 years working). Your contributions would need to be about £10,000+ per annum before tax (there being no tax on this level of contribution). Most importantly get several private pensions from different companies, private pension companies do go broke and do cheat.
At present small pensions look stupid. People who retire without a pension get state benefits to cover their housing and other basic living costs which amounts to a topup of about £5000 per annum per household. If you had a total pension pot of £100,000 yielding £3500 per annum inflation linked then every pound of your pension would be used to decrease your state benefits by a pound. However, this might change if we get poorer as a country.