They both seem to have their advantages. RLE for describing the distribution of block types, and octrees for describing the actual volume all blocks take up for that chunk.
You can probably combine both ideas by using a single flat array delimited by the block type IDs, so the renderer knows what blocks to draw separately by texture.
I'm currently trying to make a voxel engine just for fun (maybe for a simple top-down shooting game), and taking advantage of the octree structure by drawing single, large cubes for the larger nodes instead of filling it all up with equal-sized cubes. The hardest thing for me right now is actually taking the node index to correctly position the cubes in 3D space.