There are multiple definitions of case, but the differences in conventional terminology between languages also just have a lot to do with different traditions for teaching grammar.
Morphological case
The original concept of "case" dates back to Greek and Latin traditional grammar. In this context, it's strongly connected to the concept of a noun's (or an adjective's, since adjectives were considered a type of noun) declension or inflectional paradigm. A paradigm can be visualized as a table containing different inflected forms of a word.
Although the concept of "inflection" (as opposed to derivation) has some complications of its own, in most cases it’s fairly straightforward, so I'm just going to assume in this answer that we're accepting the idea that "inflection" is a meaningful term. Inflection is considered to be a type of morphology, although the choice between different inflected forms of a word is often conditioned by the syntactic environment. A common phenomenon in morphology is syncretism, which can be thought of in this case as a situtation where the inflectional paradigm of a word includes distinct but formally identical forms. E.g. in English, some nouns have identical singular and plural forms (deer, sheep) and some verbs have identical past and present forms (hit, shed).
You can typically provide synchronic evidence for syncretism by looking at the overall morphological system of a language and seeing if some words show distinct forms, even if others don't. For example, in Latin, there are a number of third-declension nouns ending in -is with identical nominative and genitive forms in the singular (e.g. collis, collis m. 'hill') but many other nouns have different nominative and genitive forms in the singular (e.g. puer, puerī, m. 'boy' and puella, puellae, f. 'girl'). This constitutes evidence that Latin morphology as a whole has a nominative-genitive distinction, even if not all words have distinct nominative and genitive forms.
Syncretism may be conditioned by some semantic feature of the word, or by the word's categorization in terms of gender or noun class; e.g. all Latin neuter words show syncretism between the nominative and accusative cases, but there are other nouns that show forms for the accusative case that are distinct from the nominative forms (e.g. puer and puella have the acc. sing. forms puerum and puellam).
So if we're looking at a word that has syncretism in its inflectional paradigm, we may not be able to determine the case just from its form, but the syntactic context may make it clear that it is in a particular case.
With languages like Romanian, it's a bit different. As you point out, the nominative and accusative case are never distinct for common nouns (they are, however, for pronouns). Saying that Romanian nouns inflect for nominative vs. accusative is basically a remnant of Latin grammatical analysis; there doesn't seem to be any synchronic evidence within the language of common nouns inflecting in this way. It could be argued I guess that this is a case of syncretism for particular classes of nouns (all the classes except pronouns) but pronouns are such a small category and behave differently enough from other nouns (often not being classified as nouns at all) that it seems unwise to assume that all other nouns have the same kind of inflectional paradigm as pronouns. (For comparison, in English the "irrealis" or "past subjunctive" construction uses a form distinct from the "simple past" form for only one verb, and only in the 1st- and 3rd-person singular: "were" (as opposed to "was"). This doesn't seem to be strong enough evidence to support the idea that every other English verb has a paradigm containing theoretically distinguishable, but actually identical "irrealis" and "simple past" forms. And of course English, like Romanian, also distinguishes "nominative" and "accusative" forms for (some) pronouns.)
Your example of Hungarian just seems to be about how we determine if something is an affix or a separate word, a famous problem with no simple solution. For some discussion, see the related question How do linguists distinguish between case endings and postpositions, especially in languages which have both and/or have no traditional grammar?
Syntax
There is, as you have indicated, a distinct concept of "case" (or, since it seems to often be capitalized, "Case") used in modern syntax (I think it may specifically be used as a concept in “Generative Grammar”), but I have never studied syntax (aside from trying to read a few random papers) so I can't say much at all about this. It has something to do with the syntactic role of words or phrases. "Case" in this sense is some kind of abstract syntactic thing that doesn't necessarily correspond to the "surface" morphological case of a word, although there's maybe some kind of connection between syntactic case and morphological case in some circumstances (this part is very unclear to me, so I asked a question about it: Are there any universals about how m-case can pattern for predicate NPs?).
As mentioned in Nico's answer, many sources draw a distinction between "structural case" and "non-structural case" (or "lexical case"), but this dichotomy is apparently disputed by some linguists ("Lexical vs. Structural Case: A False Dichotomy", JÓHANNA BARÐDAL). (The terminology seems to differ slightly between theorists; e.g. I found another article that gives the highest-level division as "structural case" vs. "non-structural case", and then divides "non-structural case" into "lexical case" and "inherent case": "Lexical Case, Inherent Case, and Argument Structure",
Ellen Woolford, 2006).
Wikipedia has an article on "Case role" that I find fairly confusing, but you might find some links to relevant sources there. There seems to be some connection to theta roles.
There has been at least one earlier question on this site about syntactic theories of "Case" ( Are there any recent articles on the current state of Case theory?) that points to some (fairly) recent literature on the subject.