Man kann sagen, dass das eine Sprache ist.
Der Unterschied liegt drin, dass man zum Beispiel in Serbischen einige Wörter nur ofter verwendet, die auch in Kroatischen bekannt sind, aber man verwendet da Synonime für diese Wörter.
Der großte Unterschied ist aber, wie die einigen Wörter ausgesprochen werden. Anhand dessen kann man leicht merken, woher die Person kommt.
In Serbien nutzt man Ekavica. Und in Kroatien und Bosnien nutzt man Ijekavica. Das ist die Weise, wie die Wörter ausgesprochen werden.
Der Unterschied ist, dass man bei der Ausprache in bosnischen und kroatischen IJ nutzt, was bei der serbischen nicht der Fall ist.
Da wird nur E verwendet. Oder man kann sagen, dass E in serbischen mit IJ in bosnischen und kroatischen ersatzt wird.
lepo-lijepo (schön)
mleko-mlijeko (Milch)
belo-bijelo (weiß)
Das ist nicht die ganze Regel, da gibt es noch mehr, aber ich glaube, dass dir jetzt ein bisschen klarer ist.