For the most part, the exact level of vertex density doesn't matter too much. But it does depend on the slicer and settings. Some slicers (like Slic3r) will auto-decimate toolpaths to ensure that the rate of motion commands isn't too difficult for the old, slow 8bit processors in most consumer/hobbyist 3d printers. Having a large number of very small motion commands can bog down these motion controllers and cause pause-stuttering that creates little zits on the print. Most slicers simply reduce model detail level to safeguard the motion controller. Because the contours are decimated to a minimum motion segment length, very small model triangles are irrelevant to printer performance. At the most, they might add a marginal amount of slicing time.
On the other hand, some slicers (like Simplify3d) assume you have the correct level of detail you want in your model, and will pretty faithfully reproduce the model file's contours in the sliced toolpath. If your entire model is very high mesh density / poly count in general, or if your high-density mesh regions are crossed by a layer slice, this can produce a series of very, very short motion commands. Sometimes the motion commands are even smaller than the motion resolution of the printer, and simply take up processor time (to evaluate and drop from the queue) with no benefit to print fidelity.
In a more general sense, high-poly models are dramatically more difficult for the 3d printer to reproduce accurately. There are two big issues:
These are primarily issues with high vertex density versus low vertex density, not variable density. Small pockets of high detail are usually not problematic, as long as they are small enough that the motion planner queue (say, 16 segments) doesn't get filled with too many very small movements. A few small segments in a row is ok, but a few dozen is not.
These are limitations baked into the algorithms used by today's slicers and motion controllers. In the future, they may not be so problematic.