Q:

What is the difference between case and adpositions?

The preposition expressions like "on top of the table", "under the tree", "above the building" are very well understood. Comparing these with the Germany noun cases "auf dem Tisch", "unter dem Baum", "die Farbe der Kleidung", "Ich sehe den Wagen". Also with Finnish noun case "Poydaallaa".
I really feel that essentially there are no difference between preposition/postposition with the noun case. I mean (roughly) if the preposition is separated from its noun then we will call it as preposition, but if the preposition is 'attached' to the noun then we will call it 'noun case'. So, what is the biggest difference between preposition / postposition and noun case?

A:

Semantically (in terms of meaning)? There's no real difference. Some languages might use an adposition for a certain meaning, while other languages use noun case. The underlying meaning can be exactly the same.
Syntactically, though—in terms of putting words together into sentences—there's one major difference. The case is part of a noun, and can't be separated from it. Adpositions can.
Consider in English:

I gave the book to Bob.
  I gave the book to the blond man.
  Where's the person I gave the book to?

The preposition and the associated noun can have all sorts of things inserted in between them, and one can move without the other following.
Compare to Latin, which uses a noun case for this:

Dedī librum Robertō.
  Dedī librum flaviō virō.
  Ubi est homō cuī dedī librum?

(The word order in these is somewhat stilted and unnatural, in order to line up with the English, but the point stands.)
The dative case marking can never be separated from the noun, by any means: it's a part of the word, and no syntactic movement will ever pull it off. The case is also applied to all words in the phrase: "blond" is flaviō instead of flavius, because it's taken on the case marking too.

A:

Maybe this isn't a universal distinction, since other answers do not mention it, and I apologize if it's too Indo-European centric, but I understand a major difference between cases and adpositions (even though postpositions can look a lot like cases) is that the forms of adpositions can be predicted from the phrase they are attached to; they behave as words, or maybe especially with postpositions in cases such as Japanese, clitics.
On the other hand, different cases change words in ways that are not uniform nor necessarily predictable: for example, the Latin noun rosa in the nominative case becomes rosae in the genitive case, while the noun lupus in the nominative becomes lupī in the genitive. You cannot single out a "genitive postposition", because it would be ae in one case and ī in the other. At this point, one might be tempted to say, okay, they are different, but I can predict that a word in -us will get -ī in the genitive; but this is not true, because currus becomes currūs in the genitive, not *curri.
Another major difference is that adpositions only need to occur once in the phrase they are attached to: before it in the case of preposition, and after it in the case of postpositions; furthermore, they occur before or after the whole phrase, including function words like articles. Cases modify individual words, and generally, a noun phrase that needs to be marked by a given case will exhibit agreement, whereby if the noun in the noun phrase is in the genitive case, any adjectives or other words that are subject to declension (articles in German or Greek are also declinable, for instance) will need to replicate the same case as the noun. This means that whereas "the good wolf" will be

bonus lupus in Latin
der guter Wolf in German
ὁ ἀγαθός λύκος in Greek
hyvä susi in Finnish

"of the good wolf" will become

bonī lupī in Latin
des guten Wolfes in German
τοῦ ἀγαθοῦ λύκου in Greek
hyvän suden in Finnish

where every declinable word (every word, in these examples) is modified by case.

A:

This was addressed in Kuryłowicz's paper "Le problème du classement des cas" written in 1949 (!) and what he wrote is still true. As mentioned in the other answers, prepositions differ from case in form but not in function. There's a continuum case affix-clitic-preposition to signal grammatical relations. Note that even within one language there may be a formal distinction, e.g. in Lithuanian į mišką and miškan both mean "into the forest" — the PP is of type į+ACC while the NP is in the illative case. This is also the main reason why in the Universal Dependencies annotation scheme prepositions are marked with the label "case" on the corresponding edge and there's also a conflated version where the preposition is built into the edge label in order to make the syntactic representation more uniform (and therefore comparable) across languages.

