I have found city states to be
massively useful.
I should declare that I have been playing as Alexander, who's special ability is influence with city states decreasing at half speed, so upkeep of relationships is less costly.
That said, by allying with a couple of maritime city states they are granting
ALL of my cities food per turn - I believe 3 or 4 food for each city and more for my capital, from each city state. That is like 2 granaries in each city - or an overpowered wonder. (I'm not sure on the exact bonus as I'm on my work computer, but it is game changing for me)
In terms of growing cities, this is fantastic - where I may have had 1 surplus food I now have say 6 or 7, with most of my cities growing more than twice as fast as they would without those relationships. I could easily conquer those city states, but why would i want to when they are fuelling my empire? By conquering 2 cities I'd limit the growth of all the rest - quite literally I don't want to bite the hand that feeds me.
Perhaps this is a little 'overpowered', but to be honest, there are many very powerful bonuses - for me this just helps to distinguish the civs more than in Civ 4.
Has anyone else found city states useful? (Admittedly i've not allied with any military or cultural, mainly because there have been none close by)