The Serbian language is mainly spoken in Serbia, but also Montenegro, Bosnia and Hercegovina, Macedonia, Albania, Australia, Bulgaria, Canada, Greece, Romania, Russia, Slovenia, Sweden, Switzerland, Turkey, Ukraine, United Arab Emirates, USA. There are 8 million native speakers of Serbian in the Balkans and around 1 million native speakers all over the world.
Around 9 million people all over the world speak Serbian as their first language: 8 million in the Balkans and 1 million worldwide.
Unfortunately, numbers on people learning Serbian as a second language are not available. The language is not as popular as, say, English or Spanish, but there is a steady number of learners worldwide, with learning resources and schools available.
The subjective difficulty of learning a foreign language depends on the learner's native tongue. For instance, Serbian is a Slavic language. Native speakers of other Slavic languages, like Russian or Bulgarian, may find it easier to learn than speakers of other languages as other Slavic languages will have traits in common with Serbian making learning easier.
Things that may cause difficulties in learning Serbian include: a very rich system of inflections, morphological alternations (up to about 15 of them) and many deviations from various grammatical rules, as well as some other things specific to the language (such as the third type of plural form, perfective and imperfective aspects of verbs, etc.).
After the breakup of Yugoslavia, Serbo-Croatian, defined as the common language of Serbs, Croats, Bosnians, and Montenegrins, was officially split into three mutually intelligible languages - Serbian, Croatian and Bosnian. Though the term ‘Serbo-Croatian’ went out of use, it continues to be a focus of controversy due to its historical, cultural, and political connotations and to the lack of agreement in defining what is meant by the term ‘language’. It’s probably fair to say that these languages are to some extent artefacts of political, rather than linguistic decisions.
Although Serbian, Croatian and Bosnian differ in a number of ways, these differences do not impede mutual intelligibility. Some speakers even say that the differences between Croatian and Serbian are, say, on the level of difference between British and Australian English. There is also a difference in writing: Serbian officially uses Cyrillic, even though Serbs also know the Latin alphabet. Croatian uses only the Latin alphabet, and most Croatians can’t read Cyrillic anymore.
To sum it up, Serbian and Croatian are two different languages that split from the common Serbo-Croatian root. The split was very recent, and the two languages remain very close – close enough to be confused by some for being one and the same language.