I found the explanation for them at Fuck Yeah Fluid Dynamics:
Ever look out an airplane’s window and wondered why a row of little fins runs along the upper side of the wing? These vortex generators help prevent a wing from stalling at high angle of attack by keeping flow attached to the surface. Airflow over the vanes creates a tip vortex that transports the higher-momentum fluid from the freestream closer to the wing’s surface, increasing the momentum in the boundary layer. As a result of this momentum exchange, the boundary layer remains attached over a greater chordwise distance. This also increases the effectiveness of trailing-edge control surfaces, like ailerons, on the wing.Photo credit: Mark Jones Jr. Addendum: More info, offered by reader Danny M -
...these vortex generators serve another, arguably more economical purpose: They can be very good at reducing drag, which is why you can see them on the roofs of some cars and trucks. One of my aerodynamics teachers even glued them to skaters' legs to make them go faster.
That may sound like a joke but as a result the dutch speed skating team in the Nagano Olympics had special 'go-faster stripes' on their calves. Incidentally, that year the dutch Gianni Romme won the two events he entered (the 5,000 and 10,000m) and broke the world record in both cases. So maybe there was something to this weird hobby.
Anyway, they do this basically in the same way the dimples on golf balls do, by delaying the transition to turbulent flow. Turbulent flow behind a wing/car/ball/leg creates a low pressure region which 'sucks' it back. In the case of airplane wings, the mini-vortices also create a sort of barrier to the spanwise flow of air on top of the wing, which reduces the size of the big vortices at the wingtip, which are responsible for induced drag.