You have to understand the difference between material and texture. This is something that applies to ALL packages; not just ZBrush.

Texture is the color that goes onto the surface of your model.

Material is what the rendering engine does with light that reaches the surface.



Texture+Material together result in the exact shading that you see when you look at the model.
Because material is a set of instructions to the rendering engine, material cannot be exported to other programs. Each program uses its own rendering engine, so instructions to one are meaningless to another.
For this reason, any time you wish to export color from one program to another you need to make sure that the color that you’re seeing is coming from the texture, not the material. Alternatively, you will need to create a material in your other package that as closely as possible mirrors the material in the first one.
So to answer your question, the materials in ZBrush that create color are for purpose of rendering in ZBrush. If you plan to render in another program, stick with a white material and then create your color through polypaint – which you can then convert to texture and export to your other app.