There are many reasons for having an external audit. I'll try to summarize a few here:
1. Government stipulations: Many companies are required, by law, to have their accounts audited by external auditors. This is to minimize the risk of fraud and incorrect financial reporting to shareholders
2. Objectivity: External auditors are expected to be inherently more objective in their audits than internal auditors. External auditors do not report to managers of the company and hence are not easily influenced by managers' policies and therefore more likely to point out mistakes. On the other hand, internal auditors, though independent, still report to the top management of the company and hence could be influenced by pressure tactics from someone like the CFO. Also, third party audits sometimes expose issues which were glossed over by internal auditors.
3. Resources: Many companies (mainly SMEs) do not have dedicated internal resources for auditing purposes. Moreover, they may not have the complete skillset needed to perform complex audits. By engaging third party auditors, the companies will have access to a wealth of experience and since their whole job spec is auditing, they tend to be more efficient.