In most places, urban settlements are governed by administrative entities (i.e. municipalities) that are roughly equivalent in extent, and share a name with the settlement. This is not true in Ontario, where many towns (and almost all villages) are part of larger municipalities, which often have different names than their principal town or village, and include vast rural hinterlands. This state of affairs is principally due to the wave of Ontario municipal amalgamations around 2000.
For example, Trenton on Lake Ontario is a town in the municipality of Quinte West, which also includes the villages of Frankford and Wooler. Almonte is in the municipality of Mississippi Mills, which also includes the villages of Appleton and Pakenham. Some municipalities have multiple, roughly equal settlements, like Norfolk County.
This state of affairs is a significant issue for mapping towns in Ontario. I believe the best solution is to map each distinct urban settlement with its commonly understood name (whether or not there is a municipality of that name), and with a tag corresponding to its size/prominence. For instance, Trenton should be a place=town, and Frankford should be place=village. Qunite West should be a administrative boundary relation, with Trenton as its admin centre. This corresponds best to local usage - businesses and people from Trenton will rarely say they are from Quinte West, but will instead say they are from Trenton. It also works well for municipalities with multiple urban settlements, since it does not require choosing which one is the “real” centre of the municipality. The alternative tagging scheme (of mapping Quinte West as a place=town and Trenton as place=suburb in pretty much the same location) does not follow local usage.