Is there any difference between "antworten" and "beantworten"? In which situations should I use one and in which another?
Ich antworte auf etwas (I reply to something), but Ich beantworte etwas (I answer something).
In German, both is used equivalently, but you need to make sure to use the correct form (see the auf above).
Just to add a little further detail and perhaps simplify the other fine answers, think of it this way:
"Antworten" is an intransitive verb, not performing direct action upon something and thus needing help to transfer the action either by using an auxiliary word followed by the Accusative case or else simply the Dative case without the auxiliary word.
"Beantworten" is a transitive verb, performing direct action upon something by using the Accusative case with no need of further help from an auxiliary word.
"Be-" is a common prefix to change an intransitive verb into a transitive one.
If you reply to a question or answer someone then you go with antworten which means to respond, to be responsive. If you answer a question or a request then you go with beantworten which means to give an answer. Additionally if you response to a letter you also use beantworten which now means to give a written response.
In almost most cases you can replace beantworten with antworten auf, i.e. when leaving out the prefix be you have to use the preposition auf.
Note that beantworten carries the connotation of fully or, at the very least, sufficiently answering the question, antworten auf only suggest that you reply but this response may not be satisfying.
Thorsten Dittmar's answer made me aware of something I just missed. English reply to something is the equivalent to German auf etwas antworten while English answer something is the equivalent to German etwas beantworten.
Man kann auf eine Frage antworten oder jemandem antworten [=reagieren, erwidern], aber eine Frage oder eine Anfrage beantworten [=Antwort geben]. Außerdem kann man auch einen Brief beantworten [=schriftliche Reaktion abgeben].
Man kann nahezu immer beantworten durch antworten auf ersetzen, verändert dadurch aber leicht die Aussage. Beantworten bedeutet, dass die Frage vollständig oder zumindest ausreichend beantwortet wurde, antworten sagt ausschließlich aus, dass auf die Frage reagiert wurde, aber die Frage ist möglicherweise noch nicht zufriedenstellend beantwortet.
The other answers do almost cover it all... but some is missing so here is my try:
beantworten is always done to the question.
You may or may not add the person. The translation that is closest in grammar to that is to answer.
Note however, that beantworten NEEDS an object. So the following wouldn't work.
Antworten itself without auf cannot be done to the question (it is intransitive). Thus, the closest translation grammar-wise is to respond.
Now, others have pointed out antworten auf. This is correct but there is a difference between antworten auf and beantworten in that the former is really just a response, while the latter implies that it is complete and the matter is settled. If I beantworte a question, it is answered. The question is no more. If I antworte auf a question, my answer can ambiguous, incomplete or even a counter question. It is really more a response than it is an actual answer. For those who are interested: I have discussed this very question in my Blog in more detail.
Let's try and get beyond a single example and understand the structure of how German words are formed.
The German prefix be- is one of several prefixes that turn another word - often an intransitive verb - into a transitive verb. The only reason this particular prefix is tricky for English speakers is that English has mostly lost it and now does the same thing without any prefix. Though there are still plenty of English words in which the prefix has survived - some of them very antiquated. Some random examples from this list:
(I have used specific terms such as "object" or "material" - not to restrict the definitions in their applications, but to make the references perfectly clear.)
Some parallel prefixes with different shades of meaning are still alive in English. You can use them to make up new verbs on the spot, though in many cases you would only want to do it for comic effect:
Re-, a loan prefix from Romance languages, could be added to this list. However, when you apply it to an intransitive verb you can still use the result without a direct object. This is why it's not a very good example. (Nowadays you can also use the other productive prefixes to construct intransitive verbs. For example the infamous overexaggerate can be used intransitively. But this is a relatively recent phenomenon.)
Now let's apply the theory to (be)antworten. The basic word is the noun Antwort, which translates to the English noun answer and can be analysed roughly, but quite obviously and logically, as anti-word, i.e. opposite word. In German, it can be turned into an intransitive verb just by adding the appropriate ending, or into a transitive verb by also adding the prefix be-:
In the first example I used reply, a synonym of answer that can only be used intransitively. There is no corresponding synonym that can only be used transitively, but removing einen Brief from the second example would make the German sentence ungrammatical. For some other German verbs there are full English analogues: