I've been told the one reason why Japanese is so hard to learn is because there is an underlying etiquette and social hierarchy built into the language and it is not simply being able to understand and speak the words.
Native speakers tolerate errors when it's obvious someone is non-native, but become offended when they speak it perfectly, but screw up the social heirarchy, so it's extremely hard to progress beyond a certain point.