This past April 21 the North Carolina State Board of Elections released results of an audit (PDF) of illegal votes cast in the 2016 general election. The News & Observer of Raleigh provided a good summary the same day and The Charlotte Observer followed up with an intelligent editorial April 24.
In brief, of 4,769,640 ballots cast, 508 were at least provisionally determined to be illegal, or about 1 in 10,000.
And this is really important: Of those 508 illegal votes, there was exactly one -- one out of nearly five million -- that would have been prevented by requiring voters to produce identification. That vote, for Donald Trump as it happens, was cast by a woman on behalf of her recently deceased mother, because her dying mother had asked her to do so. (Authorities declined to prosecute.)
Voters in North Carolina are not currently required to show an ID to vote. A change to state law requiring voters to produce a government-issued photo ID was blocked by the courts based on a clear record of discriminatory intent. (Legislators had gone to the extreme of researching what ethnic groups were likely to have what kind of ID and then based the list of acceptable IDs on the results.) Even under that now-suspended law, people could still be able to vote by signing an affidavit declaring that they were unable to obtain one of the required IDs.
The audit found not even a single case of a vote cast by an illegal immigrant, but 41 votes were cast by legal U.S. residents who were not American citizens. In most or all cases, the report suggests, the person voting misunderstood his or her status. For example, a woman in her 70s who has lived in the U.S. for 50 years thought that she was a citizen by virtue of being married to an American. Others apparently thought a green card indicated citizenship. It's also possible that some of them believed that non-citizen legal residents could vote for some offices, as is the case for local elections in some other countries. The non-citizens in question came from a variety of countries, including four from Mexico, two each from Canada, Germany, and Italy, and various individuals from Australia, Israel, the UK, and other countries in Europe, Asia, Africa, and the Americas. A full list can be found in Appendix 10 of the report.
The vast majority of the illegal votes, 441 of them, were cast by convicted felons. In fact, felons can legally vote in North Carolina, but only after completing their full sentences, including probation and parole. It's likely most or all of the felons in question simply didn't realize that being out of prison didn't mean they could immediately start voting. Indeed, in many other U.S. states, felons on probation or parole are eligible to vote. Maine and Vermont even allow felons to vote even while in prison. Of course, it's also possible that at least some of the felons were fully aware that they were breaking the law by voting. It's not like they have a record of worrying about such details.
There were 24 substantiated cases of people voting more than once. Apparently some did so to test the system, perhaps hoping to prove that voting fraud is easy. Others were likely trying to swing the election, which would have been possible only in an extremely close vote. A few even thought that they ought to have the right to register and vote everywhere they owned property.
Only two cases of voter impersonation -- that is, voting in someone else's name -- were identified, one by a mail-in ballot and one in person. In both cases the person casting the vote doing so on behalf of a deceased relative. As noted above, only the in-person case of voter impersonation could have been prevented by a requirement to produce a picture ID. Of course, someone deliberately trying to commit electoral fraud by voter impersonation would likely get a fake ID.
There are thousands upon thousands of people in North Carolina, mainly poor and elderly, who are citizens and legal voters but don't have a government-issued photo ID. A strict photo ID requirement would have prevented one illegal vote in the last election but blocked thousands of legal votes.
(Updated 2017 July 9 in an attempt to improve wording and correct some typographical errors.)