So, there is no rule or logic reason to use one or the other?
People simply naturally learn how to speak as they grow speaking the language?
It's extremely hard for a foreigner to use the appropriate preposition if there is no logic involved.
In case of doubt, which one should I use (which would be less incorrect) ?
Well, there is some logic involved. For example, you wouldn't normally sit on your desk. You would sit at it. So, a person works at the front desk, not on it.
It is true, however, that there isn't necessarily much logic involved with prepositions. It is language, not logic. In matters of usage you often have to get a "feel" for how words and phrases are used in different situations.