What is the difference between hängen and aufhängen? don't they both mean to hang? when should one be used and not the other?
The Form with auf- is transitive, the other is not (usually)
Der Mantel hängt am Haken
Ich habe den Mantel am Haken aufgehängt.
Note also that the first form describes the (possibly long-term) state of hanging whereas the second form denotes the (typically short) act of achieving that state.
Then again, there is the transitive jemanden hängen meaning to execute a person by hanging. Strictly speaking (or is that already obsolete?) one should speak of jemanden henken instead (therefore also the profession of Henker = executioner); also, one often uses erhängen for this (in particular when the hanging was not by a sentence, e.g., a suicide "Er hat sich auf dem Dachboden erhängt").
By way of continuation of Hagen's answer:
It pretty much depends on context.
For example in the world of arts, people who prepare an exhibition usually say:
Wir müssen die Bilder so und so hängen.
Die Hängung der Bilder ist irgendwie komisch.
Habt ihr die Bilder schon gehängt?
They do not want to kill them. It is just common practice in that socio-situative context to speak of Bilder hängen, rather than Bilder aufhängen (which then is considered a more amateurish way of expressing it).
Whereas speaking of laundry, it is always
Hast du die Wäsche schon aufgehängt?
never Wäsche hängen.
Mix these things up and you will harvest amusement or bewildering. - But no worry, you will anyway be understood.
Bottom line: you need to know the various real-life situations and the typical forms of expression associated to them.
The best thing you can do is: keep your ears open for such nuances when speaking with native speakers. Or if you want to use a more scholarly approach: Get yourself a good dictionary (single-language) where examples for typical use of words are given. Duden Universalwörterbuch is one of them (that's the big one with about 2000 pages, not the smaller one used for checking spelling). Also available as pdf, if you need to be mobile.