Z-fighting, also known as "stitching", is a phenomenon in 3D rendering that occurs when two or more primitives have similar or identical values in the z-buffer. It is particularly prevalent with coplanar polygons, where two faces occupy essentially the same space, with neither in front.
In the embedded view below we have a 3D file with 3 layers stacked above one another. There are two brown planes set slightly apart from each other and a green plane. In the initial view notice how the green plane is spotted with brown. When the model is panned around flickering occurs. This is an example of z-fighting, where the two planes have the same z value, essentially occupying the same space.
By toggling between the two comments you can see z-fighting and no z-fighting. In the no z-fighting view, the second brown plane (the one with the same z-value as the green plane) has been turned off. With no conflict between the planes everything looks as it should.
When the objects in your model share the same Z value, it will cause z-fighting.
Though we have implemented methods to reduce the z-fighting, the best way to avoid it is to move the objects apart by a small margin so they are not overlapped.