Play any Serbian/Croatian/Bosnian movie anywhere in Serbia/Croatia/Bosnia, and nobody would need any subtitles; that's the point. In Croatia, they (sometimes?) subtitle Serbian movies, for great comic effect.
Many different languages are mutually intelligible. Many dialects of the same language are not mutually intelligible. That's because the ways people speak don't divide up neatly into languages.
This is the same language. Three different names for political reasons.