Yes, in general, you should remove the dead flowers. However, there are exceptions.
Why you should remove:
Remember that a plant's "mission" is to reproduce before it dies, to ensure the survival of its species (producing flowers is the first step). If you let the flowers stay till they drop off on their own, the plant, satisfied that it has successfully produced a flower, might decide to stop producing them (end of the flowering season).
However, when you remove the dead flowers you're sort of "tricking" the plant into thinking that its previous mission has failed (i.e., it hasn't produced a flower to ensure its survival). This in turn encourages the plant to produce even more flowers, resulting in larger, more frequent blooms. This is also a commonly used technique to extend the flowering season of annuals and perennials.
When you should stop removing:
This article has a very good reason to stop removing dead flowers before the onset of winter.
With a plant such as a continuous blooming rose, you should stop cutting spent flowers in September, allowing them to wither and dry on the bush. This signals the plant that its mission is indeed complete, and that it should ready itself for the coming winter.
In other words, if you keep removing the flowers beyond late fall, sure you'll have more bloom, but your plant will not be prepared for the winter (i.e., stockpiling energy, reducing energy consumption, and shedding leaves) and might wither and die in the cold. This was something I didn't know, having not lived in a place with a winter season