Es ist halt so, das das "&" in HTML eine spezielle Bedeutung hat. Um das, und
andere Zeichen, als "darzustellen" zu kennzeichnen, werden die gemappt (dh
durch eine spezielle Zeichenfolge ersetzt.
Im Fall des "&" ist dies halt "&", für ein geschütztes Leerzeichen wird eine
" " verwendet. Damit der Browser weiß, wann das gemappte aufhört, muß das ";" hintendran.
Eine Übersicht findest Du auf
SelfHTML.