Vertex painting is indeed useful for game models and dense meshes (sculpts).
However there are some points that are needed to be considered relating to other features in blender.
Long story short a “vertex” only approach is all fine if there is mask layer and layer saving functionality.
Per face functionality can be achieved with masks.But they need to be managed and saved easily (Mask saving and management is also direly needed in sculpting).
Basic uses :
- Ambient lighting or fake Ambient occlusion for low poly models (Game models).
Most games use advanced shading techniques nowadays, so vertexlit shading is not that important.However mobile games still benefit from this functionality. Also vertex color masks can be used in shaders ( realtime shaders ) for transition, blend and factor settings. It is also important to note that in these kinds of uses blender also lacks a native vertex alpha support (at least its not exposed to the user).
- Sculpting can use vertex painting for texturing or cycles shading effects / masks.
This functionality is a efficient way to paint textures in subdivision sculpting since the data is embeded in to the subdivision history and is somewhat protected as long as the vertex count doesn’t change. However as most people know the multi-res modifier needs a refactor, so it might be wise to think this over.
Dynatopo might benefit from this also but tessellation will break the transition between the newly created vertices and the surrounding vertices. So this leads to more clean up work and discards the vertex paint benefit for dynatopo. (Still you don’t need to mess around with UV for dense meshes so it might benefit there).
So my thoughts is that current functionality will be limited to vertex paint masking (dirty vertex) until;
Vertex paint - Sculpt mask saving and managing functionality (Supporting mask layers in vertex paint will improve workflow greatly)
Vertex Alpha paint support is essential for shaders and game models.
Refactor for subdivision sculpting (multi-res) , dynatopo can also supported in a limited way ( warning to user on changes to topology).