One thing I noticed recently is that the AI tends to space cities two to three tiles apart. This provies a tremendous defensive benefit. I've been having quite a bit of trouble sieging AI cities when they place cannons and artillery in their cities. You often wind up getting hit by multiple units and cities while sieging significantly complicating the effort. I always have to have extra units to replace units in this situation.
Basically, if you need good defense, minimize the spacing. If you are planning to be offensive and don't plan to fight many defensive wars within your borders, maximize your spacing.
If you have a lot of food available to a city, plan on it growing and possibly provide greater spacing for it to grow and work the maximum number of tiles.
Bottom line, like everythign in CiV, there is no single (absolute) answer. It is all situational and based on play style, goals/objectives, and situation.