This has to do with the way a language affects how a native speaker perceives time.
It's easy but long, so I'll divide my answer in 3 parts.
Part I
Imagine an Englishman on a steadily moving train. He can't feel his movement. The train consists of endless cabinets; each one has a medium-sized window. When he enters a cabinet he sees some actions happening outside the window. For him, this cabinet is his present time; his "now". He can say: "I eat breakfast" present tense, because it's a short action begins and ends in the cabinet. "The trees are passing by" present continuous, because it's an action that keeps going on and will continue perhaps after he leaves the cabinet. If a friend comes in and offers him a sandwich he will say "I've just eaten" present perfect, because the action he mentioned happened few minutes ago while he is still in the cabinet, so its effect is still present at the moment, and the speaker perceives it as a recent past. When he moves to other cabinet he can recall all what happened in the first one as "far past", so he will use past tense instead of present tense and past cont. instead of present cont. when he speaks about what happened there.
Arabic speakers perceive the "now" on timeline as a point on a thin thread. Like a place-mark on a map, but the map here is squeezed to a straight line and has two directions only; forward and backward. A point is seen as a whole; can't be divided, so you can't have an action that occurs "within" it. An action for the Arabic speaker is what happens on several connected dots. So "present" as it is in English and Latin Languages does not exist in Arabic. Instead, he views المضارع as an action that started few dots behind him (now), passes his point and will continue for several more. The past is anything that started and ended behind the point of now even if it still has effect in the present (no present perfect tense). The future is an action that will start at a point after the point of now.