A city tile produces the same as the tile it is built on, with a minimum of two food and one production. So plains, grassland, and tundra are identical giving 2 food 1 production from the city tile. Hills make a difference, and special resources sometimes make a difference.
When that difference is worth pursuing is another question...in most cases, you'll get some small (usually temporary) advantage by settling on a special resource, often making it worthwhile. In a few, you'll gain some advantage but lose overall potential, and in some cases, you'll lose potential and gain nothing.
Note that forests, jungles, and flood plains are removed when settling, so there is no difference between settling on "forest, grassland" and "grassland", between settling on "jungle" and "plains" (as removed jungles are always replaced by plains), between settling on "desert, flood plains" and "desert", or between settling on "forest, hill, ..." and any other (non-snow covered) hill. To calculate how your city tile will produce, you have to think about what the tile underneath the forest or jungle will produce, then add the bonus from any special resources, then apply the two food one production minimum.
Cities built on luxury or strategic resources make that resource immediately available, as soon as the technology to access it has been researched, without needing a worker to improve the resource.
Some advocate moving to one of your luxury resources immediately upon starting the game, to get the immediate happiness boost, which may make it easier for your first city to keep growing. If your city wouldn't normally work the luxury tile early (because it gives little or no food), then settling the luxury will often give an early gold boost as well.
Settling on low-food or no-production tiles improves a city's overall potential
Suppose you built a city on grassland coal...that would give you immediate access to the coal, which might be valuable strategically, if you need the coal fast. However, you'll only have +2 food +1 production from your city tile, the same as you'd get from settling on an ordinary tile. Farming an adjacent grassland (and researching fertilizer) would give you +4 food, for a total of 7 resources: 6 food, 1 production.
On the other hand, settling on the grassland tile, mining the coal, and researching chemistry would give you +2 food +1 production from the city tile, and +3 production +2 food from the grassland coal, a total of 8 resources: 4 production, 4 food.
This difference happens because, while nearly every useful tile gains +2 resources, one from having an improvement built on it, one from technology research, only some tiles are improved by settling a city on them...the grassland gained +1 production, but the grassland coal gained neither.
Settling on some resources improves the city's immediate yield
If you settle your city on a tile that offers more than two food or more than one production, that means your city tile will always produce more than it would if the city were settled on a low-resource tile.
As we've seen above, however, this boost can become a loss once you're working every available tile, if the city didn't also boost the production of the tile you built it on...but sometimes a city's full potential takes so long to arrive that it's almost irrelevant.
Let's take another example: suppose you're settling in a costal area, and the spread of your other cities means this city will have access to one desert tile, two grassland with cattle, three normal grassland, and five hills. For the sake of comparison, suppose the options for settling locations are open: you could settle on the desert, the cattle, a hill, or a grassland without losing access to any of these tiles, or gaining access to any others.
Settling on moderate or low-resource tiles
If you settle on the desert tile or a normal grassland tile, your city produces 2 food, 1 production. You'll work the cattle for 3 food, plus one production once you build a pasture, plus one food with fertilizer, then add on mined hills and farmed grasslands depending on your preference for food or production. You'll get 3-4 food per grassland depending on whether you have fertilizer, and 3-4 production per hill depending on whether you have chemistry.
So your level of resources at size one will be 4 food, 1 production from the cattle, plus 2 food 1 production from the city tile, for a total of 6 food, 2 production. At size two, that will go up to 10 food, 3 production, and from size 2 to 9, the total number of resources will be 5 + 4 × population, as each mine or farm added gives four production or four food.
If you settled on the desert, you'll be able to grow to size 10 and still have four resources per tile; if you settled on a grassland, you'll only get a desert tile to work at size 10, so you'll start preferring the water at that point, and get one or two less resources.
The thing to take home at this point is it doesn't matter that much if you hurt the city's long-term potential by your settling location, provided you have plenty of resources available. If you only had four or five usable tiles, settling to maximize the city's potential is much more important than if you have 10 or more good tiles.
Settling on 3 food
If you settle on a 3 food location such as grassland cattle (NOT bananas OR desert flood-plains; the jungle becomes plains, the flood-plains become normal desert, so neither produces 3 food once settled), then your city will produce 3 food, 1 production. In our example, you'll start working the other set of cows immediately, for a total of 7 food, 2 production, giving you a one food advantage while your city is population 1.
Once you reach population two; however, since there isn't another high-yield tile in our example, you'll have the same numbers as above: 5 + 4 × population total resources.
So, settling on a 3 food location can give your city a temporary food advantage, which lasts as long as your city is only making use of high-yield tiles. If this allows your city to grow to size two or three more quickly, it can give that city a long-lasting advantage, as it will work more tiles sooner and bring in more resources faster.
As we'll soon see, for grassland wheat this would be pure win, but for cattle, there's one caveat, once we factor in:
Buildings and Tile Yield
Suppose we build the stable in our city built on grassland cattle. That will raise the production of each of our tiles with cattle, sheep, or horses. For the cattle we didn't settle, that will raise the tile to 4 food, 2 production (pretty awesome). For the cows we settled, it will raise the base production of the tile to 3 food, 1 production...and when we again apply the 2 food, 1 production minimum, we'll have the same 3 food 1 production as before the stables were built...so by settling on the cows, we lost the benefit of the +1 production that would come from building stables.
If you weren't planning to build stables in that city anyways, then it's still pure win: a bit of food early, so we hit each population number a little earlier, working more tiles faster.
On the other hand, if you could settle grassland wheat (which unfortunately can't spawn on the vast majority of map types), doing so would be pure win: a granary would later give +1 food to the tile, which would produce 4 food, 1 production after we apply the city minimum. For as long as the city works only high-yield tiles, we'd get a bonus from having settled the wheat, giving our city a head start, without negatively impacting the city's overall potential yield.
It's often recommended to not settle on wheat because it offers more potential food if not settled on; this is true because wheat normally does not appear in grassland. On plains, the benefit of wheat is largely lost if settled on (you'll still gain food from a granary, but get no benefit from the wheat's own +1 to the tile's food, meaning no early boost to the city's food and less potential), and the benefit of desert wheat (including desert flood plains wheat) would be completely lost (the flood plains designation, if present, is lost, so the wheat and granary raise the tile to 2 food, but that's also the city tile minimum).
Settling marble also fits in our discussions of buildings: settling on grassland, desert, tundra, or snow marble loses the +1 production given to the tile by a stone works; however, plains and hills marble is fine for settling, giving extra gold as long as the city only works high yield tiles.
For stone, it's the base +1 production that would be lost in grassland, desert, tundra, or snow, not that from the stone works; again, stone in hills or plains is a good place to settle, giving your city extra production from the city tile, and improved overall yield as long as the city only works high-yield tiles.
Settling on hills
Hills give cities a slight defensive advantage, and a brief sight advantage (though border spread eventually makes this meaningless). If you're ringed by hills, being on one also makes it easier for early ranged units stationed in the city to shoot at your enemies, as they require line-of-sight.
If you settle on a hill, your city produces two food, two production. In our example, we can still take advantage of the cows, so the total resource income is 6 food, 3 production at size 1, and from size 2 to 9 produces 6 + 4 × population total resources.
This is slightly more than we got from settling on the grassland cows, and does not go away when we run out of high-yield tiles to work, because we are getting 4 resources from our city without using one of the special resource tiles. We also improved the hill we built the city on by +2 food, meaning we also have improved the potential yield. Settling the desert would give one more potential, because the desert produces nothing by default, but the +1 resource that we gain at size one through the point we're working every good tile usually makes up for that by helping the city develop faster, unless very few tiles are available for the city to work.
The combination of these factors made settling on hills much better than any other settling location in Civ. 4. In Civ. 5, Firaxis decided to balance it by not allowing the windmill (+2 production and +10% production when constructing buildings) to be built in cities on hills. (Those playing Austria should note that the coffee house, which replaces the windmill, can be built on hills, making settling on a hill almost always advantageous.)
If you usually don't build windmills, settling on hills will be great for your game. If you do build windmills, then settling on a hill is a trade-off, gaining early production and faster early city development, at the cost of slightly lower production in the long term.
Since settling on a hill improves the hill with +2 food, with the trade off that the hill cannot be mined later for +2 production, building on a hill also shifts the area's potential away from production and toward food, even before we consider the windmill.
That makes settling on a hill in an area with many hills and few food-producing tiles particularly worthwhile (if doing so does not reduce the number of food-producing tiles in range of the city) as it adds one more food producing tile to the area, and with many hills, production will not be a problem if the city population is doing well.
On the other hand, in an area of grasslands with just one hill, settling on the hill would be a poor idea, since the two production from a windmill and the production from mining the hill will be very important...a city with only two production from its city tile, and none available from workable tiles will lag behind compared to a city with one production from its city tile and four production from a mined hill, even before the windmill is built.
Additional considerations for Gods and Kings
The Gods and Kings expansion changes the discussion in a couple of minor ways:
Firstly, salt is a resource that is never good to settle on: improving salt with a mine gives +1 food and +1 production; as improvements on anything else would only give +1 resource, by settling on salt, we are giving up on a better improvement, and thus losing one resource.
Secondly, they've added a few religious beliefs that improve improvements. Note that almost everything else in Civ 5 improves resources: for example, Stone Works gives +1 production to marble and stone regardless of whether they're improved with a quarry, meaning that (if the tile already gave +1 production before building the stone works) the bonus is not lost in a city built on that resource...but the new belief Stone Circles gives +2 faith for every quarry, so if you take that belief and found a city on marble or stone, you'd be giving up on that +2 faith.
God of the Open Sky (+1 culture from pastures), Goddess of the Hunt (+1 food from camps), and Oral Tradition (+1 culture from plantations) have similar effects.