The image you post is in very poor quality. It's in low resolution and has a lot of compression artifacts. So it doesn't exactly make it easy to preserve the textures as the artifacts themselves are interpreted as texture.
Anyway, the proper tool for this would in my opinion be the Spot Healing Brush Tool:
In the Options bar, make sure to set it to Content-Aware and tick Sample All Layers.
Add an empty layer to draw in so you can keep the corrections separate from the original. If you have adjustment layers added, make sure to place this layer right above the original so corrections are applied to both the original and the corrections.
The tool is pretty straightforward to use. Simply draw over a spot or line and Photoshop will try to remove it while maintaining the overall color and texture.
Experiment with different brush size and varying hardness to find something that works. I mostly keep hardness high, perhaps 100%, and change the brush size as I go by holding Alt and moving the mouse horizontally.
Don't try to be too precise and only paint over the spot. Instead make sure to include a little of the surroundings so Photoshop has something to work with. Often you need to go over an area several times until everything is smeared out the way you want it.
Like with other brushes, you can hold down Shift to draw straight lines.
I won't do the whole image as it turns out to be quite tricky. All the ships make trails and waves in the water which also needs to be removed so there is a lot of painting to do. And as mentioned, it would be a lot easier without compression artifacts!
Notice how, when removing the ship behind the building to the left, I paint over both the ship and the building and Photoshop manages (in this case) to understand that I want to keep the building and only remove the "spot".