I think the doppler units work pretty well on dirty fluids, but the pipe has to be metallic. They won't work on concrete, plastic, or rubber-lined pipe. If your fluid is clean, I've had good luck injecting air so that the bubbles can reflect the waves.
The sensors have to be 'coupled' to the pipe with goo, like grease or even KY jelly. The sensors can vibrate loose, or the goo can get hot and run out.
In short, they are good flowmeters to slap on to an existing pipe without opening the line up. The ones I've used aren't that accurate or reliable, but I'm probably biased from my experiences with them in the early '90's.