A village is a settlement lying in size between a hamlet and a town. Size will vary by era and culture, but in general a village will be large enough to support some activity beyond primary industry (agriculture, fishing or mining depending on context) - if it wasn't at least that big, then the place is a hamlet, but if non-primary activities are becoming predominate, you're probably in a town. The English tradition was "a church and a pub" … but there was usually more to it than that.
Villages normally don't possess as much local government or other, similar structure as a town - although they often have some formal structures. In England most villages are the center of a civil parish (if rural) and therefore fall under the jurisdiction of their parish council. Other nations have their own arrangements.
The term 'village' is also sometimes used for a neighbourhood within a city that has its own, distinct identity - this is most common in the US. In Europe, if a city contains a village, it may very well be that it was once an actual village that was swallowed by the expansion of the city boundary. Note that many settlements in the US which are known as small towns would probably considered a village (at most) in Europe.