To make "Autocorrect" work, there are several key components play here.
- The prediction algorithms, obviously.
- The dictionaries being used
- The perceived necessity vs. "feature-pushing"
- Why iPhone users "suffer" more ?
Mr. Vitaly's answer is quite enlightening. I just want to add my 2-cents.
The prediction algorithms: Of course, they are different for different vendors, and different keyboard software. But, they often try to be quick & smart rather than effective & non-obtrusive. They usually prefer more-frequent words rather than right word for the context, because context analysis is quite-challenging & CPU-intensive than suggest from a frequency table.
The dictionaries, being used, are quite standard. They mostly fail to recognize local, slang, urban words even they are wildly popular. Text messages (sms), as in the OP's screenshot, are far more personal, hence informal, than formal. Emails, on the other hand, is more formal than informal. Keyboard software definitely don't (or can't) differentiate that usage.
"feature-pushing"? Do someone want "autocorrect"? Yes, maybe. Do they want it "pushed ON" by default? Definitely NOT.
from the receiver's side, it is way much understandable a typo than a "correctly spelled" wrong word. e.g. "you smsrt asses" is far more understandable that "you smart assets".
Why is that "Auto-correct" is turned on by default? Does the UX designer understand the true cost of sending "correct" absurd message to someone's manager vs. "typo-ed" meaningful message?
Why a feature almost absent to PCs is trying to become so smart in a much-more sensitive device?
for iPhone users, I think, it is more deadly due to the absence of 3rd-party keyboards for iphones, due to Apple's restrictions, up until recently.