Cases provide the information which is otherwise (in case-free languages) provided by prepositions. Your example is not a good one for noticing this, because in it, the case could actually be omitted without losing information (the cases don't provide necessary information in your example sentence, but in others they do).
But there are cases (pun inteded) where they will disambiguise the meaning of the phrase. Take the example
Ich übergebe dir Georgs Sohn.
("I hand over the son of Georg to you")
Ich being Nominativ, dir being Dativ, Georgs being Genitiv, and Sohn being Akkusativ is really crucial for the meaning of the sentence. Without cases, there would be a lot of combinations amongst the relations of the nouns in this phrase. Other languages use prepositions (for instance English) or word order (for instance Chinese, I believe) to resolve the ambiguity.
German has only a very limited case system, and some relations cannot be expressed in cases. In Latin, there is the Ablativus case, capable of expressing (amongst others) relations like by blackmailing. In Finnish (I have heard), you have cases for expressing relations like Me, being a teacher or Me, as a teacher. In order to express those relations you will have to use a preposition in German as well.
The relations which are expressed by cases are not simple. You might be able to identify some rules of thumb. But which case is being used also depends on the verb. The verb defines which valences it takes in which case. The verb geben takes an object in Akkusativ (the object that is being given) and optionally a Dativ object (who it is given to). The roles of the objects in each case may depend on the verb. And then, on top of that, there is also prepositions which demand certain cases.
Although I would assume that there must be a history in the development of the cases, where "originally" each case would encode a certain "concept" of relation, it is a hopeless endeavor to try and describe a semantic system behind the cases. You will find that some rule of thumbs might work a lot of times, but then they will fail to explain a lot of cases, too. I am afraid there is no simple answer. Take, as some examples
- Ich sehe es dir nach [dass du zu spät bist] ("Ich can forgive you being late", Dativ, demanded by the verb)
- Ich zeige ihn an. ("I report him to the police", literally "I indicate him", Akkusativ, demanded by the verb, anzeigen could also take an optional Dativ object, which would indicate who something is being indicated to.)
- Während des Fußballspiels ("During the soccer match", Genitiv demanded by the preposition)
Similar to how hard it is to identify semantic concepts in prepositions in languages like Spanish or Italian, I don't think it would make sense to search for "hidden" semantics in the cases. Just as you have to learn the prepositions together with the verb, you have to learn the cases together with the verb. If there was an original concept behind them, it has gone through too many layers of transformation.