My experience has been, for irregular surfaces I use Dicor, for flat surfaces Eternabond.
I have put new Dicor over existing caulk as long as it's surface was clean. Old Dicor can be removed with "plastic" putty knife if you think it is necessary.
I have used roof coating and a gallon will cover about 50 Sq. Ft. Once you mix it up, as the one that I used was a two part material, you have only so much time to get work done. Also remainder of gallon will set up and can not be used.
Also Dicor is about $9.00 a tube and the roof coating $55.00.