Russian actually presents a curious example here: on the one hand, as Dominik Lukes pointed out above, it lost the original Slavic vocative case save for a few remnants, but it's also innovated a vocative form entirely unrelated to the original one. It's highly colloquial and only exists for a single paradigm — if it can even be called a paradigm, because it's only used with first names ending with -а (which tend to be female but also include a number of common male diminutives). It consists in simply dropping the final -a:
Sash! for Sasha,
Marin! for Marina, etc. Narrowing it down further, the name must be paroxytonal, i.e. the syllable preceding the one containing the final -а has to be stressed.
Obviously it's a reflection of what started out as a purely phonetic phenomenon, but at this point it's used quite consciously in both spoken and written form. Linguists are tentatively calling it the "new vocative" but it would be a bit of a leap to conclude that it's an extra case which is just identical to the nominative in all the other paradigms.
Complicating it further still, it's not the only example of a Russian "case-oid", a kind of Pluto in the solar system of Russian declension; there's already a (much older) paradigm-specific partitive (replacing genitive) and locative (replacing prepositional) which only exist for a strictly limited number of nouns, all of which are something of a challenge to the whole idea of cases as something that exists a priori, at least as far as Russian is concerned.
Perhaps these types of phenomena represent a kind of inflectionary primordial soup which may have also existed in early Proto-Indo-European and other inflecting languages; perhaps something becomes a "case" (in inflecting rather than agglutinative languages, anyway) only once there's a perceived equivalence between certain oblique forms across paradigms.
And that is perhaps why the Indo-European vocative got classified as a case in the first place: there was more than one way to form it, depending on the paradigm, but all of these forms and their respective endings came to be perceived as expressing the same thing — just like with the other and more syntax-dependent cases. Case assignment may be an emergent property of an inflectional system that starts out highly paradigm-dependent and thus, to a certain degree, ad hoc.