So this got me wondering, what is considered a low or high population? I know it's pretty subjective and based on many factors like map size, Civ, number of cities, play level etc.
The definition of a city too large is when you start to get

because of overcrowding. Don't grow any city larger than this, as any population point beyond this size will do nothing but consume resources.
You only need enough food to feed your city's population - 2 units of

per citizen and turn. Any food above this only serves to grow the city. And once the city is at its happy cap, you don't need any more food surplus. Period. Sure, once the happy rises - when you get more sources of happiness in your city - a food surplus is the only way to grow the city to that next level.
So don't over-value food. Commerce

commerce

is what drives your economy and your research. Too much food will only get you into trouble in the long run. (If nothing else, think of those poor obese citizens of yours!

)
So my oh-so-vague and really-rather-dumb strategy is to have a high enough population to work all the visible tiles in the city screen and then have a bunch of specialists once I won't notice the drop in food production.
That means that you don't use any specialist at all, then. Because there are 20 workable tiles for each city (unless your cities are overlapping) and I doubt you have size 20 cities without any

...
As a rule of thumb, don't work unimproved tiles. And don't bother with improving non-riverside Plains tiles (as those are pretty arid). There are some cases where it would make sense to work unimproved tiles though, like Plains Forests early on, or Forested Hills, or Coast tiles for a commerce city (with the associated buildings, of cause).
So if a city has, say, 4 special resources and 7 other tiles worthwhile working, you could grow that city to size 11 before switching any further citizens to specialist duty. The rest of those 9 tiles wouldn't be worth the effort - unless you need the food to feed your population. Stockpiling food just for the sake of it makes no sense at all.
Also, what is meant by 'garrisoning' a city? Is it a specific button/move that I've missed or simply the act of having military units in and around your city centres?
I believe I used that term and others have already answered your question.
Note that every city needs a garrison - both for defense (surprise attacks will occur...) and for policing your population. Without any military units there will be additional

in a city. You don't have to garrison any specific number of units in a city, though. How many units you need depends on the situation, but a city close to a foreign border could have anywhere from 3 to 10 units garrisoned, depending on the threat level. Cities deep in your heartland get by with just one outdated unit, but do keep a mobile force on alert so that you don't get caught with your pants down!
Also, the Hereditary Rule civic can be very helpful for raising the happy cap in your cities. Because then every unit garrisoned in a city will give you +1

. Just don't grow your cities into the 20s with stacks of units, because once you switch from the civic all those huge cities will go into strike! Starvation will follow and all those cities will be cut to size very rapidly. It would only be an exercise in futility.
As a postscript, there is actually one use of endless stockpiles of surplus food, but that is a special technique better saved until you can find your way around the City Screen.
