What is the difference between Old English and Anglo-Saxon?
There is no difference: Old English is the name that language scholars give to the language spoken by the people known to historians and archaeologists as the Anglo-Saxons.
There were several major dialects of Old English; most of the literature that survives is in the dialect of Wessex. Like modern German, Old English used a certain number of inflections, using endings added to the stem of a word to indicate its role in a sentence, its grammatical gender, and whether it was singular or plural.
Danish and Norwegian settlers in Britain spoke the related Old Norse language, and this influenced Old English, both in adding new words to the vocabulary, and probably in speeding up the loss of the inflections, which may often have been the only partial barrier to communication between Old English and Old Norse speakers.
The Norman invasion of 1066 resulted in the temporary dominance of French, and by 1150 Old English was effectively obsolete. You can read more on this in Philip Durkin's: Five Events that Shaped the History of English.