It does not raise the money it was intended to. So much effort is spent complying with the law and it makes everyone feel guilty for no reason. Not to mention the costs to prosecute that have failed.
IR35 was introduced to stop tax evasion and raise £300 million. It did neither and just made it much more difficult for small business owners. Many independent contractors have been caught up in expensive measures to demonstrate that they are not nor have any intention to be employees of the companies to whom they supply services. They do not receive any of the benefits of being employees (holidays, sickness, benefits, pensions, training, expenses, etc,).
In addition, many badly worded confusing, often contradictory and regularly changed "questions" were put into PAYE and personal tax returns.
Simply repeal IR35 and all references to service companies. By all means make sure everyone pays the correct amount of tax, but end this failed law.