As I understand it, the Vikings that raided the British Isles were mostly from modern Norway/Denmark, the same general area as the Anglo-Saxons originated from. What changes occured over the 2-3 centuries between invasion waves, that meant the Vikings could raid almost with impunity?
To add to /u/Steelcan909's nicely extensive answer, I'd like to focus on a key phrase of your question: raid with impunity.
For about a century, the Vikings are essentially able to raid with impunity because their strategy is precisely that: raiding. Their warfare is based around rapid manouvring, striking wherever possible at isolated settlements, undefended monasteries, and picking off smaller garrisons peicemeal before an effective responce could be organised. This strategy sometimes worked and sometimes backfired: the *Anglo-Saxon Chronicle notes a Viking army successfully routed a Mercian army defending London in the 850s, but took casualties and was then destroyed by a West Saxon army which had been coming to the Mercian's aid. It's really only with the coming of the Great Heathen Army in the 860s and 870s that Viking ambition turns towards conquest over raiding.
It's also with this change that the Vikings are no longer able to raid with relative impunity. The establishments of the burghal networks places Anglo-Saxon garrisons across main travel routes, at bridges, fords, major crossroads etc. which significantly limits the Viking ability to practice mobile warfare and allows for a rapid response to raiding parties.
Here's one of my answers on a similar question
://www.reddit.com/r/AskHistorians/comments/7aarc9/how_did_vikings_manage_to_conquer_such_vast_areas/