The game engines imports meshes from standard file formats like OBJ and FBX. Vertex Colors can be included in most of these formats as float values. FBX also can also carry shape keys but they are for instance imported as a skeleton mesh in unreal. These are a bit heavy to deal with so sometimes it might be necessary to use trickeries like using vertex color in an unintended way to get performant effects on game consoles.
There are ways around this. Instead of using the vertex colors I could for instance create a data UV map and store the precision data in OpenEXR images. But every texture sample is expensive.
There are also a problem using Blender in a tool chain if the vertex color information gets crushed. A link can not be allowed to destroy information.
I can’t really say that it’s to make Vertex Colors them self better… but I think the interoperability is important.