Learn English – Why are ambiguous phrases like “ain’t no something” still used?

ambiguitynegative-concordphrases

There are some phrases in English that lead to nothing but unnecessary confusion and frustration, especially for non-native speakers. For instance, I've seen the phrase ain't no something being used lot more than necessary. Examples:

1. Ghosts? There ain't no such things.
2. There ain't no chocolates in my pockets.
3. I ain't no magician sir, I'm just a technical person.

First of all, two negatives should cancel each other in a sentence. So "ain't" and "no", the two negatives should cancel each other out. So, the sentence There ain't no chocolates in my pocket effectively means There [are] chocolates in my pockets. Yet, in common usage, it is understood to mean There are no chocolates in my pocket. Why all this confusion? Can't you just say what you really mean to say?

EDIT: The linked answer is very related, but not an exact duplicate of what I want to ask. My question is not just about the use of negatives, but rather the confusing or ambiguous meaning resulting out of it.