As Nicole says, in my experience dyeing an item rarely covers a stain anyway. Even if you dye something black, the stain shows as a different shade of black. It may be less noticeable but it'll still show. The only thing that can work is something like tie-dying or crumple dying, and then the stain may get lost in the variation of shades.
And yes, polyester is very hard to dye, polycotton will take some dye and go a lighter shade.
Another thing to consider when dying clothes is the thread, which may be a different composition to the fabric, for instance I've dyed a cotton dress, to find all the stitching, like button holes and top-stitching, didn't take the colour because it was polyester. This can look okay or can look odd, depending on the dress and colours involved!