Breakwaters are used to provide protection from low key waves, they don't interfere with water flow, and create small harbors.
The cons are that they can be expensive, don't protect in emergency situations, and we don't really know what the long term affects on the environment.