1) Franchising, especially if you want to offer TV service (which is the money-maker). The city has to approve your overall deployment plan. As part of that deployment plan, you will usually need to agree to:
A) Build-out requirements. Cross-subsidies for poor neighborhoods are baked-into the process in almost every city. You have to build out to every neighborhood in the city above a minimum density.
B) Franchising fee. Usually a % of revenues.
C) Contributions for public services. The municipality will usually require you to spend (a few to tens of millions) per year on things like providing free fiber to government buildings, or contributing to local public TV programming, etc.
2) Permitting. You need a wide variety of permits for: A) laying cable; B) stringing cable on utility poles; C) tapping into the grid to power fiber cabinets; etc.
3) Negotiating rights of way.
4) Miscellaneous regulations: environmental permits, etc.
There are also the broader political dynamics. In NYC, de Blasio has turned FiOS deployment into a social justice issue: http://www.speedmatters.org/blog/archive/new-york-mayor-bill... ("If you can’t afford to feed your family by the end of the month, you can't afford $75 a month for the broadband service. And that's what we have to fix.")
Google's MO is to say "fuck you" to all that. They only agree to build Fiber on the condition that the municipality gets rid of build-out requirements, fast-tracks permitting, etc. Second and third-tier southern and western cities are willing to play along, because they see fiber as a competitive advantage. Cities like San Francisco and New York are not, because demand to live and work in those cities is so high to begin with.