Vertex Paint or Texture

Should I do everything on a texture alone ( shadows, textures, …) or overlap it with vertex paint ( adding some dark shade). What I understand is that Vertex paint only works on vertexs so in-order to have more control over it, more vertexs is needed and that will increase the file size. Is this correct?

Vertex paint only works with verticies, if you want more control without face count going up UV map the object, give it a blank high resolution image, then use the texture paint mode to paint in real time on your object (image must be a power of 2)