NVIDIA GameWorks Integration

We have three technologies which seemingly do the same thing. Turbulence, Flex and Flow (and somewhere on the road was FlameWorks).
One difference I can see is that Felx and Turbulence are particle based, while Flow is Voxel Grid.
My questions is, how do they really differ ? I mean can in theory do flame simulation in Flex.
Does Turbulence is superseeded by Flex (in terms of functionality) ?