there are some stains on my ceiling.
One that I tried to paint over with emulsion paint. Not sure if it was a water stain from a leak in the alcathene pipe under the upstairs floor. I applied about 5 coats of emulsion but each time it got fainter but bigger.
I now have more water stains from a leak in the loft (fixed). and a little mouse shaped one because we didn't notice that the trap in the loft had worked until mouse had dried up.
you need to treat the stain first, you can buy stain block from diy shops to cover the stain first then emulsion or you can simply paint the stain with a gloss paint the emulsion over the top of that.
I have always used oil based gloss and undercoat mixed together. The gloss is better for sealing the stains and the undercoat will give the emulsion something to adhere to. Paint an area a little bigger than the stain.
We had this as a persistent problem on our kitchen ceiling (large water stain from a leak upstairs). Found stainblock useless. The only thing that finally worked perfectly as suggested was to paint it with an oil based gloss. 2 coats were needed, then paint over with a standard matt emulsion to match the rest. Brilliant white in our case.
I had the same problem a lot of years ago. Got a tin of stain remover from B & Q but sorry cant't remember what it was called. A member of their staff should be able to help