For marble stains there is a product called poltice. ( made by mapei and found at lowes) Its the only thing I know to get deep stains from marble.
The tub needs another product. They make an enamel for sinks and tubs that you paint on to cover the chips and scratches. It cost alot less then redoing the enamel on a cast iron tub.