Fish caves of any type are indeed helpful. However, herons are crafty hunters and have successfully fished clean lots of ponds that have fish caves. They fish the natural ponds in our neighborhood daily so we have had lots of opportunity to observe them. They will stand stock still for hours, until the fish either forget they are there or think they have left. I have also seen them regurgitate food on the surface of the water to lure fish to the top. This would be particularly effective in a pond where the fish are accustomed to being fed. Stringing fish line may work in some cases, but I've seen videos where the bird just carefully steps around the fishing line to get to a hunting spot. The water scarecrows work for some people, but raise your hand if you would be the one who would forget it was on and spray yourself! That would be me!
They are clever, clever birds. Once they find you, they have onboard GPS - they will never forget. I think a well placed net is probably the only 100% sure fire way to keep them out of your pond. We have only had one land in our yard in the 8 years we've had our pond - and we have many many herons, egrets and even the occasional cranes that fly overhead daily. He observed the pond from the neighbor's roof for days before he finally made an attempt. But he only stayed a minute. I think the fact that our backyard is small with a lot of overhanging trees and a six foot fence all around meant he didn't have a great take-off and landing space and that may have been a deterrent... but that's just a guess.