Marching cubes is a method for triangulating an iso-surface of a function, by subdividing into equally sized small cubes and triangulating each cube in a way that preserves continuity.
An octree base iso-surface method instead chops into non-uniformly sized cubes. This can generate a lower number of triangles than a marching cube algorithm for equivalent "visual quality". However the extra cost is that many special cases need to be handled in triangulating the surfaces in each cube to avoid holes. Also you must determine a metric for when each cube is "small enough" (compared to the changes in value in the cube and the visual importance of the cube etc.). Often to help reduce the number of special cases neighbouring cubes are limited to differ by at most one octree level - meaning that simple refinement purely on the metric is not possible.
So in summary: marching cubes is a fast iso-surface triangulation method. Octree methods are more complicated but can give better results. They are not the same, and octree is not a special case of marching cubes.