A fire has a fire gene and normal gene sitting on that locus, that is why when bred to a normal, you have a 50/50 shot at fires/normals it gives one or the other
A vanilla has a vanilla gene and a normal gene sitting on that same locus, again you have a 50/50 shot at giving one gene or the other
A cream has a fire gene and a vanilla gene sitting on that locus, so you have a 50/50 shot at vanilla or fire. there is no normal gene on that locus to give.
Yellow belly is a yellow belly gene and a normal gene sitting on a different locus.