The issue is the inlets and the rivers that feed into the ocean.
For instance, in St. Augustine, the water is not very clear. Its clean on some days, but not very clear like south FL. But if you run 2 miles off shore, it is crystal clear, especailly in the summer.
The water leaving the local rivers further north are affected by lots of tanic (sp?) acid from the pine trees. hence why the water has a brown color to it in the rivers. even though the intercostal waterways are salt water, they are fed by lots and lots of fresh water streams that are very very brown.
As you move south, the flora changes...less and less pines. The water feeding into the ocean has less of the brown, so the water along the beaches is more clear.
Also in the keys there are areas where the water is not very clear at all. It has a very black look like in blackwater sound in key largo. This has to do with everglade run off into it