In my opinion, the first factor that can be used to differentiate between Village, Town and City, is the population of people living in the three types of settlements. In a typical village, the population of people living there is usually between 500 and 2000. A town is larger than a village and you should expect this will also reflect in its population. A town is usually defined as having thousands of inhabitants.
A city is the largest of the three, and it usually has a population size ranging from hundreds of thousands to millions. In terms of basic amenities or facilities, a town is usually described as a settlement with inhabitants clustering around a central point. Villages are very poor when it comes to basic amenities; in fact, some villages only have a worship center, a public meeting place, and one or more shops. Towns have more basic amenities or facilities compared to villages. Of course, cities have more basic facilities compared to towns. The main occupation of people in villages is farming, whereas only 50 percentages of people in towns are farmers. In cities, there are other occupations apart from farming.