I personally would also mosaic after I performed all other pre-processing steps. Only then you can assume maximum geometric accuracy.
Resampling is needed when pixels of two adjacent scenes are not completely registered towards each other. One of the two rasters has then shifted to the pixel registration of the other.
Nearest neighbor doesn’t change your values and assigns the pixel value of closest position
Bilinear uses averaging of adjacent pixels to calculate one new value at the new pixel location. It makes the image a bit smoother.
Cubic convolution takes even more pixels into consideration. It changes your radiometry the most and is mostly suited for resampling between different pixel sizes:
Image source: http://www.slideshare.net/merdevie/remote-sensing-10526190
As you are mostly working on water detection I would recommend the nearest neighbor resampling as it leaves the pixel values as they are so you don’t lose information at the border between water and land.
Weighted average means that pixels of both rasters are averaged at overlapping parts in your data. This is only advised if you did proper radiometric calibration but it clearly prevents harsh borders between your images.
Normalize changes the pixel values of your whole image so that both of your input rasters show the same histogram after mosaicing. It is good if you didn’t work with absolute pixel values for thresholds (e.g. -15 db) before. But consider that your previously defined image statistics no longer apply after mosaicing with normalization.