Clear removes values and definitions from a symbol while ClearAll removes attributes, messages and any default options as well as values and definitions from a symbol.
The * kind of has the same meaning it does on a unix terminal, meaning any set of characters of any length. Global` is a particular context. It happens to be the default context when you are making definitions in a notebook. When you use the command
ClearAll["Global`*"]
you are removing all definitions, values attributes, messages and default options that have been created in the Global` context and that don't have the Protected attribute.
You can read more on this at
http://reference.wolfram.com/mathematica/ref/Clear.html
http://reference.wolfram.com/mathematica/ref/ClearAll.html
http://reference.wolfram.com/mathematica/tutorial/Contexts.html
http://reference.wolfram.com/mathematica/ref/Protected.html