There is a widely held theory that when the Romans left England in the 5th century AD the island was defenceless against Anglo-Saxon invading armies. In the south and east the Britons were defeated in battle and the Anglo-Saxons established their own kingdoms. They brought their Germanic languages with them -Old English- which became dominant in the new kingdoms and ultimately in Britain as a whole. Only Wales and Cornwall were able to retain their Celtic language and culture.
However, a recent history programme on the BBC disputes this theory. They claim there is no evidence of a border between Celtic and Anglo-Saxon speaking regions, nor of battles along such a border in the 5th century. Instead they claim that Wales and Cornwall were regions in the west that were involved in trade with France and Spain. Whereas the south and east of England had contacts around the North Sea with Belgium, Netherlands, Germany, Denmark and Norway. There was trade, and perhaps some migration of settlers, but certainly no conquest by invading Anglo-Saxon armies.
Assuming that the theory of the BBC is correct, why is it that the common people (farmers, fishermen, villagers) in the south and east of England stopped speaking the Celtic language of their ancestors and instead switched to Old English, the language of a relatively small group of newcomers?