When you say "летом" you mean recent summer. But what if you want to speak about some other summer, for example 5 years ago? In certain cases it may be not clear whether you meat that summer or recent summer, so mentioning explicitly "that summer" may be handy.
2. If you say "В том лете" in prepositional case, you mean that something was literally in, inside the summer. In some weird cases you can use prepositional case, i.e "В том лете было маловато лета" (There were little summer in that summer), but in most cases prepositional case is a no-go.
3. "В тот день". Accusative case again. On other hand "в том месяце" и "на той неделе" are in prepositional case. Have no good explanation for it.