Solution 1:

The answer is simple.

You just need to think about how you learned your native language. By ear.

Children learn how to speak their native tongue first, and only then learned the grammar and spelling. Thus, many will "sound" a word out to spell it.

English language learners, on the other hand, usually learned how to spell a word first, and focused on pronunciation later.

Solution 2:

I think that the same goes for all languages. Native speakers that do not take the time to learn their own language properly, or that do not read much, tend to misspell homophones.

In French, for instance, many people will replace infinitive form (« manger », to eat) with past participle (« mangé », eaten), or confuse « ses » and « ces » (his,her vs these).

Astonishingly enough, foreigners that study the language do not have this homophony problem in their “source language” and therefore are aware of a grammatical difference. It sounds like people assume translation is mathematically speaking an injective thing.

Solution 3:

The confusion is that in many UK (and probably US) schools the difference is not taught. The use of the apostrophe is considered by many to be totally confusing and so it is omitted in many places where it is required.

There is a name for the addition of extra apostrophes in places where they are not needed. These are "Grocers' Apostrophes" which refers to the common sight on market stalls and grocers' shops where the price labels may erroneously refer to "Banana's" or Apple's".

Solution 4:

Sometimes I wonder how often this mistake is made out of carelessness, versus ignorance. I'm well-versed in the difference betweent the two, yet I've still made the gaffe on occasion.

Due to the homophoneous nature of the words, the mistake is easily made while typing, and particularly easy to miss while proofreading, too.