After doing some research, I found out about the marching cubes algorithm and "metaballs". How exactly do they differ?
The two are totally different. Marching cubes is a conversion algorithm, while metaballs are mathematical constructs that can be used to represent certain 3D models.
Marching cubes is a technique that lets you convert a non-polygonal 3D model (such as one represented by voxels) to a polygonal one. It works by examining cube-shaped chunks of the model and representing each chunk with a certain pre-defined arrangement of polygons based on which corners of the cube are solid.
Metaballs provide a non-polygonal way of defining 3D models mathematically as a set of 3D points (the metaballs) that sort of glob together as if they were made of magnetic goo. Metaball models tend to do well at curvy surfaces and not very well at sharp, angular, or flat ones.
Marching cubes can be used to convert a metaball model into a polygonal one that's easy to render using your everyday 3D card.
Wikipedia's articles on the topics are decent.