Adding to Acametis (very good) post, for large parts cities are best at doing what their tiles offer.
Even a future National Epic city could work some cottages early, being limited to running only 2 scientists (or using Caste, but often keeping Slavery is needed), there would be no gain in building more farms for now on rivers if we already have +10 food.
Same would be true for a (now or future) production place, no harm in adding that nice river cottage when you need commerce rather than spamming units. Ofc worker management plays an important part here, imo there are 2 ways:
having very good worker micro so you can squeeze in / change more tiles, or getting more workers while still improving on that part.
Most of my cities are doing mixed stuff, until i reach a key point where they switch to one main system.
For example working mostly food and whipping new key units, or all GP producing cities use max. specialist during golden ages,
or after reaching State Property workshops on most tiles.
It's not bad to think about what task you give to cities

But it's even better to look at your overall game state (tech pace, economy, GP generation and their use, war or peace plans), and then see what cities can do to help. Economy hurts? This nice food city could first whip a courthouse, then grow back on cottages. This one could use mines for some wealth or failgold, another could run specialists so i can bulb something for trading.
I guess the message i try forming can be: let them do what you need now, changes could be made again later.
Also think about sharing food, if one city has too much (for now), maybe you can place another one close. Or give one food tile to another, already existing city.