The vikings succeeded because they were trained, fast light infantry that could get in quick and had the element of surprise on their side. Mostly they raided and fought against villages and small towns with militias that, if they even existed, were made up of farmers fighting with farm tools. In addition viking raiders had the extra motivation of having their backs against a wall; if they didn't succeed raid after raid, they'd limp home starving, and their homes would starve trying to support them because the land in Scandinavia just couldn't support that many people during the Medieval Warm Period.
(Heh, electricity just went out for a bit. It's thundering hard outside)
Anyway, in the pitched battles against organized, moralized enemies which they won (which aren't that many, actually) they had the maneuverability and speed that their enemies didn't. If the vikings had fought against an army with a large amount of heavy cavalry, they would have lost, but none of their enemies really had that but the Franks, and the vikings raided and avoided battles with the Franks for just this reason.