You are astute to notice that even with heavy inflection case can be ambiguous. You often cannot determine 'case' (in the sense of the role a noun is playing) from ending alone.
Many 2nd (puer, magister), all (IIRC) neuter and all 3rd, 4th and 5th declension nouns lack distinctive vocatives. To have a distinct vocative turns out to be rather the exception than the rule, and you might find it easier not to bother learning them, or only to learn them when they are both common and distinctive. (That, after all, is what one does with cases such as the locative, and the vocative is hardly common and usually obvious.)
More significantly, since they are more common and cover what more seemingly important semantic distinctions: neuter nouns do not distinguish between nominative and accusative (a pretty fundamental semantic distinction); dative and ablative plurals are invariably the same regardless of gender; the second declension has the same dative and ablative singular; the first and fourth declensions have the same dative and genitive singular (and first declension genitive singular = first declension nominative/vocative plural). Fourth declension singular neuter nouns hardly decline at all, you will be pleased to hear.
All of which goes to show that -- contrary to the neat impression one may get at first, and which the first and second declensions sort of play to -- ending does not invariably enable one to work out what case a noun is. Latin can be ambiguous too. Context and the rest are often important, and occasionally there may be real doubt about how a particular word should be understood.