Whenever you install natural stone or ceramic as well as porcelain tile , sealing should be done as the final step. Ceramic and porcelain by the way only require the grout to be sealed. That is why you see a lot of ceramic and porcelain tile in commercial applications. Counter tops should also be sealed as well.
There is a wide array of sealers out there for interior projects. Surface sealers such as Acrylic or wax are not the best choice and should not be used on marble, granite or highly polished surfaces. You can use water based acrylic on Limestone ( matte finish ) Slate and some Travertine applications. From my perspective, I don't like them on any application. Granted they are better at protecting against acids, but if over time they start flaking away or yellow , you have to strip them off just like wax. This is a messy dirty ordeal and are harder to strip off than wax.
I recommend staying away from these and sticking to the Impregnating sealer family. This type of sealer goes inside the stone and after sufficient dwell time you buff the residue off the top of the stone. DO NOT LET THE IMPREGNATOR DRY ON THE SURFACE. IT WAS NOT INTENDED FOR THAT AND IF YOU DO, YOU MIGHT GET IT OFF WITH CAREFUL ACETONE APPLICATION, BUT IT WILL PROBABLY NEED DIAMOND SANDING TO GET IT OFF.
There are many products out there to choose from. Some even offer warranties for years. Most of my clients clean and polish every 2-3 years. I always re coat with a penetrating sealer. So if you buy a super pricey sealer that says it bonds better and comes with a 10 year warranty, what about cleaning and polishing every 2-3 years? Even the pricey sealers suggest re sealing after each cleaning.
Think of it like your car. Would you wash and wax your car every 10 years. No. If you did a detailer would probably tell you to go get it re painted.
Out door sealers will take a whole new blog to cover this arena.