My first Korean language book explained '겠' as a future tense marker. I thought it was an easy word, so I ignore finding out more about it. At one time, I even used '겠' and '을 것' interchangeably. My teacher corrected me without leaving an explanation. I realised now that If she was to explain, she would require many lessons just to clarify everything on '겠'.
'겠' is not easy to explain simply but it is also not difficult to understand. All that is required is a lot of time.
I have no intention to explain '겠' in much details because I doubt my explanation will make anyone clearer. Just look at the words that can be associated with '겠' explanation: 의향 (inclination), 의도 (intention), 의지 (will), 추축 (guess), 조심스럽다 (cautious), 부드럽다 (softness), 곧 (soon), 가능성 (probability), 능력 (ability).
To make thing easy, I shall compare and contrast some very similar sentences.
Pair 1
1. 내일 내가 학교에 가겠어요
2. 내일 내가 학교에 갈 거예요.
The pair of sentences above means I will go to school tomorrow. Despite the same meaning, there is subtle difference between them. For sentence 1, what it means is I am definitely going to school tomorrow regardless of anything. It shows my intention and will. For sentence 2, what it means is I am going to school tomorrow but it can also turn out that I may not go, since no one can predict for sure what will happen in future. In this case, I didn't express much of my thought except a possible action of going to school.
Pair 2
3. 선생님이 케이크를 사겠어요.
4. 선생님이 케이크를 살 거예요.
In pair 2, sentence 3 is not a correct sentence. While you can know your own intention, you won't be able to tell the intention of your teacher or someone else. Hence, sentence 3 is incorrect. To say that our teacher will be buying us a cake, sentence 4 is the correct way to do it. Since we can't tell others' intention, we can always ask, e.g. 선생님, 케이크를 사시겠어요? (Teacher, will you be buying us a cake?)
Pair 3
5. 네, 알겠습니다
6. 네, 알았습니다
In pair 3, '겠' takes on a different meaning. It is no longer about intention and will. In this case, '겠' takes on some element of 'guess' and 'softness'. Pair 3 can be simply translated as "Yes, I know." However, the mood of the listener can vary drastically depending on which sentence you choose to say. If I am to translate sentence 5 literally, it means " Yes, I guess I know it". "I guess I know it" doesn't mean the person doesn't quite understand, rather it is a 'softer' or indirect way of telling others that I have understood without sounding conceited. For sentence 6, what it means literally is, "Yes, I know it already' (so stop checking with me again). To a listener, the speaker can appear irritated and disrespectful. So if you want to sound 'gentle' and respectful, use '알겠습니다' or '모르겠습니다'. Appropriate use of '겠' is good manner.