According to Wikipedia, this started out as a way to fund health insurance and unemployment insurance, and has gradually increased its scope to cover pensions. At least in part, what you can claim back from these systems is connected to what you paid into them - you can't just work one week and then claim 51 weeks of unemployment benefit, or a full pension - which makes them different from taxes. As well, the money collected is not supposed to go into general government revenue, but to be used only for the specific programs it funds.
The UK is certainly not the only country where employees and employers send a fraction of each paycheque to the government for purposes other than income tax. Here in Canada we have Employment Insurance and Canada Pension Plan contributions as well as income tax that come off every paycheque. It's just the way the system works - not everything that the government collects as your income is paid to you is in fact an income tax. There are advantages to all of us to keep these accounts separate - I don't want my pension money spent on a road by someone who wants to get re-elected 20 years before my pension needs to be paid.