I am new to image processing using Python. Now I am learning OpenCV and the mahotas module in Python. Many functions in these modules are related to watershed of an image. I don't know what watershed means for an image. Here is an example from the OpenCV documentation: http://docs.opencv.org/search.html?q=watershed&check_keywords=yes&area=default
Watershed transformation is an image enhancement method. You can think of it like a possible preprocessing step to improve the results of your algorithm.
This site has some imho very illustrative animation: http://cmm.ensmp.fr/~beucher/wtshed.html
Wikipedia has an explanation: http://en.wikipedia.org/wiki/Watershed_(image_processing)