Voxels ARE that volumetric dataset. Voxels exist in a 3 dimensional regular grid; volumetric. Voxels are a way of representing the data in that space; dataset.
You're contradicting yourself. So what is a voxel? The data or its representation? It can't be both.
It means the same thing in this context. To say anything 'is' the data isn't entirely accurate; to say it 'represents' the data is more accurate, as everything in a computer is just bits representing data under the correct interpretation. But that's just semantics; no actual difference. If I had said visualization, that would be another story, as that is the correct term when talking about what gets shown to the user.
For example, research paper in which voxels are used as the data structure:
http://www2.tech.purdue.edu/cgt/Facstaff/bbenes/private/papers/Benes06JVVW.pdfNote the visuals used to display said voxels: marching cubes is used to visualize it as polygons.
Even in the atomontage engine you linked, it refers, on their dev pages, to voxels as the data structure, which is then rendered using some technique (it describes a comparison of a couple ways
here)
Voxels are not the system used to visualize data; they are the data structure storing it.
They are visualized with either a raycasting based system, typically involving octrees or other spatial partitioning methods (any engine with massive quantities of tiny voxels), or polygons, typically using marching cubes algorithm, though sometimes just using cubes (engines with large voxels).
Methods involving spatial partitioning have a time complexity approaching O(log(n)), while polygon methods will have a higher time complexity which varies based on the particular implementation, but is likely between O(log(n)) and O(n). The difference between the two being the mathematical theory behind picking the correct voxel's data to use when rendering to a given pixel. The spatial partitioning method aims to pick only the single correct voxel, while the polygon method renders all of them, and lets the graphics pipeline sort out where they are on screen and which are closest to the camera. The raycasting method is what you have been calling 'voxel rendering,' but that just isn't accurate. Both raycasting and polygonal methods are adequate for visualizing voxels, though like most of programming there are situations for which you would choose one over the other. The spatial partitioning-friendly raycasting method is in general good for massive quantities of voxels, as it has a lower time complexity. Polygons are better for small quantities of voxels because it is generally faster for those.