Regularization is very good for image enhancement. For image segmentation, it is also good, but the speed/performance maybe not very good. For segmentation, I recommend you use MRF/MAP
There are so many different algorithms for image enhancement and segmentation available, and also, so many different "needs" when you are processing images, that it very difficult to answer a generic question like that. In my opinion, there is no "one best algorithm" for these types of image processing tasks. As in other problems like sorting - where the main goal is much better well defined than in image processing problems – and where it is easy to prove that there is no best sorting algorithm. You can have only “good algorithms” where the performance evaluation depends of things like that: the initial conditions, evaluation criteria (memory, speed, parallelism), etc. So the first step is to define the problem, the main characteristics of the input data, and the results you are searching for, then you can find an algorithm that “better match” with your specific problem.
Regularization is very good for image enhancement. For image segmentation, it is also good, but the speed/performance maybe not very good. For segmentation, I recommend you use MRF/MAP