In my point of view, the place=* tag should be used on a node. The spatial relation between a feature and the village/town can be deduced with the administrative boundary. Moreover, it is bad to duplicate data (hard to maintain).
See also [this similar question (with my answer)][1].
The area is used for giving the administrative boundary, while the node give a more accurate information on the "place" center's position.
In some case, there isn't a suitable boundary, but it is mainly for the hamlets, that are commonly attached to a village/town with a administrative boundary (at least in France). In this case, I don't think it is so annoying to not have a geometric inclusion of a feature of this hamlet in an area.area.
[1]: http://help.openstreetmap.org/questions/3942/how-to-map-inhabited-places-settlements