If you are interested in procedural terrain generation I suggest first this article.
Also I try to correct your thinking of this.
Most important, Voxels are what you are searching and which are the output of the map generator. A mesh though is describing the surface of an object which can be displayed by an engine.
Voxels in more detail are scalar values without an dimension which are used for being distributed equal over a dimension.
This means, they are simply values in a space describing whether a position in space is in an object or not in an object.
So what's all that about, why Voxels?
The Voxels represent world data very well and can also be edited easily (they fit into human thinking). Also the result of surface extraction of Voxels is always predictable. Meshes are not suitable for changing the world, they aren't in am easy editable format and can be broken easily.
How is the workflow?
You create data aka Voxels with the procedural map generator
You need to extract the so called "isosurface" from the voxel data.
In short, you need to find a valid surface representation of your voxel data.
How to achieve this?
One algorithm would be Marching Cubes, however out there are even more algorithms and so far I know unity already has build in helpers for Voxel data.
The iso surface then is a mesh which can be displayed.