I was told to post this here. I never really thought about it until now. I'm sure there's a logical answer.
I can answer the first part of your question (why Houston). Historian of technology Layne Karafantis has written about the history of Mission Control. In brief, Houston was selected for several reasons: "Access to water transportation by large barges, a moderate climate, availability of all-weather commercial jet service, a well-established industrial complex with supporting technical facilities and labor, close proximity to a culturally attractive community in the vicinity of an institution of higher education [Rice], a strong electric utility and water supply, at least 1,000 acres of land, and certain specified cost parameters." In addition, it was in LBJ's home state, and in congressman Albert Thomas's district. Thomas was chair of the commission that oversaw NASA's budget. For more, see this article on NASA's Control Center history: http://eandt.theiet.org/magazine/2013/12/controlled-by-history.cfm
Ultimately the reason why you launch from Florida than say Texas or Cali are a couple of reasons.
Probably best to go to /r/science or something of the like to get the math behind it, but what it comes down to is speed and closeness to the equator.
When you're closer to the equator you're moving faster than if you're in the higher latitudes, and since the idea is to get something to move as fast as possible so that when it falls in Earth's Gravity it misses land, you want to be going as fast as possible ( Remember, being in orbit is really just falling really fast and missing the Earth ). That extra speed you get by being closer to the equator directly translates in to fuel savings, which translates in to weight costs and considerations.
As far as why Florida. Due to the spin of the Earth, you launch rockets so that they go East. You don't launch from Cali, or Houston ( well Houston is a bit higher in latitude than Cape C by a little ), because what's to the East of them? From Cali you have Mexico, Texas etc. You could potentially launch from the southern most point of Texas, you'd have to potentially worry about all the coast line of Gulf of Mexico plus a big potential chunk of Florida. But why have that thought, just launch from Florida and all you have to worry about is the Atlantic Ocean?
*EDIT* Yes, rockets can and are launched from higher latitudes for various reasons, but the question asked was about Florida.
hi! FYI, if you're interested in space missions, you might want to swing by this sub for this upcoming AMA:
August 27 - AMA: Space Shuttle Discovery - Dr. Valerie Neal, Smithsonian National Air and Space Museum