I recently built a shed, and painted it. I didn't have the boat covered, so I got a fair amount of overspray on the boat. Including on the dark plastic windows. Borrowing a tip from auto detailers, I found that using a clay bar removes the paint easily. It works well on very smooth surfaces like gel coat, stainless steel, plastic, etc. It is less effective on textured surfaces, but still works. You can get it at auto parts stores ... here's one kind:
Mothers 07240 California Gold Clay Bar Paint Saving System
I always seem to get a few rust spots on my white gelcoat. Oxalic acid works well to remove rust, but its pretty dangerous to use straight. Barkeeper's Friend has a bit of it, and its kind to gel coat. I don't know if it would stain a painted boat, but it works great on gelcoat with just light rubbing. You can find it at Home Depot and many grocery stores:
Plastic with Mildew / Rubrails
I think its mildew ... those black spots that show up on flexible plastic like fenders, cowl vents, etc. I start with a mild cleanser like Softscrub and then graduate to this whitewall cleaner if that doesn't do it. You can get Softscrub at the grocery store, and a whitewall cleaner at any auto parts store:
The one caveat I have about using this cleaner is that it will bleach out latex paint; I'm not sure about how it treats oil based marine paiints, but you have to be careful with it. Rinse really well afterwards.