Paul Bourke a lecturer from University of Western Australia has the best layman explaination and code I have seen for marching cubes.
Polygonising a scalar field (Marching Cubes)[
^]
He shows you what is happening as well as the code.
Essentially you start with a box around what is usually a point cloud and then you start subdividing each face using the 45 degree face between them (his pictures make it clearer). So long as no point lies outside the face you continue the process over and over again marching the cubes down and subdividing more and more.
What you are left with when you can collapse the marching cubes no more is the shape that fits around the volume of the cloud points. That is where the process gets its name you have the surface render that fully encloses the random set of points (volume). Its used a lot it medical imaging where they construct the point cloud from CRT scans and then they want a surface mesh of the point cloud.