the 'non overlapping' rule is a pretty good way to get started, and learn general city planning.
That said, thiers numerous situations where building cities close by, with overlapping borders, makes perfect strategic sense:
-filling up small areas to fill out your borders, so the enemy doesn't send a settler through your empire and plop down a city in the middle
-to make small little towns already with in your borders when you have a couple extra squares of grassland/floodplain/ whatever to fill in.
-occasionally i'll just plop down a city when a settler risks dying from a barbarian attack. I'll pay the small fee (this is assuming thiers only one barbarian unit) just to save the settler, which can be quite draining to build. This plan can be risky, but thiers a few situations where it just makes sense.
The largest argument against overlapping cities is that they won't be able to reach thier full growth potential. To this I just say hogwash, because they won't be able to reach thier full potential for quite some time anyway. Out of the 20 potential squares a city can utilize:
-6 before the development of the aqueduct
-12 before the development of sanitation, some THOUSANDS OF YEARS away.
So, by overlapping say, 3 squares, your cites can still have full resource utilization well into the industrial ages, and then the problem becomes that you will only have enough food for a population of say, 20, instead of 26. No biggie.
For the cities that really over lap, and are stuck in between the corners of 4 metroplis, and only have, say, 3 squares to utilize, I'll just manipulate the resources so that they don't grow beyond those 3 squares, and switch to wealth. Civilizations are full of small cities that really don't do squat.
Also, Early in the game, by overlapping cities, they are closer to each other, and can shuffle troops over roads quicker.