How to repaint certain faces/vertices using vertex paint?
I personally hate the built-in painting tool in Blender. It works fine for planes, but on more complex 3D meshes it fails badly. 

If you insist on painting the faces a solid color, you can change to face select in painting mode, so you can select the faces you want to apply color to. This is a quick way of doing what you want, but you have to go over every face in every angle to get a clean solid color on your mesh. Leave a comment below if you want screenshots of how to do this.

Alternatively, you can also use the fill tool on the selected faces to make quick work of the repainting process.

A plugin that I myself have not tested yet, is this one. It allows you to select all faces with the same color automatically for easier repainting.

I personally use UV textures for pretty much everything that's textured. If I use the built-in painting tool, it's simply to mark which faces are what in a solid color, so I can easily recognize it later in external editing.

Hope this helps.