Natural stone tiles (marble, slate, granite and others) tend to look solid and impenetrable. They're not. If you buy unsealed stone tiles, which is generally how they're sold, the material will absorb moisture and stains far more readily than glazed ceramic, porcelain or other manufactured tiles. Sealing your natural stone tiles during and after installation is crucial to prevent discolouration and other problems. This is a little more complicated than it sounds because it has to be done in conjunction with the grouting process.
Choose a Sealant
Liquid polyurethane-based tile sealants come in two general categories: surface and penetrating. Surface sealants sit on top of the tile, while penetrating sealants seep into the tile. You're generally best off with a penetrating sealant, though a final coat of surface sealant can be helpful in adding a top layer of defence. Both kinds of sealant come in flat, matt or glaze finishes, and which you use is entirely up to you and your aesthetic tastes; they all seal equally well. Generally, if you want a natural look, go with flat or matt; if you want a high-sheen polished look, go with glaze.
One problem when laying natural stone tile is that when you apply the grout (the mortar that sits between the tiles) it will stain the unsealed stone, since you have to wipe grout across the surface of the tiles to get it in the lines. Soaking the tiles in sealant ahead of time isn't an option, since sealant on the sides of the tiles would prevent the grout from properly setting. The solution is to seal just the tops of your tiles after they're laid but before you grout. Use a paint brush to coat the tops of the tiles, taking care not to get it in the lines between them. Let the first coat of sealant dry according to the instructions (generally a few hours), then apply a second coat. Grout as usual.
Grout is even more vulnerable to staining than most stone, so your grout needs to be sealed as well. When you lay glazed ceramic or other tiles that don't need sealing, you would seal the grout lines separately, keeping the sealant off the tiles. But with stone, since you're sealing it anyway, you can simply do the whole surface, brushing your sealant across the tiles and the grout together. It will be the first coat for the grout and the third for the tiles (since you put on two coats before grouting). Use at least one coat of penetrating sealant for this step, then apply a final coat of either penetrating or surface sealant. You might go with surface sealant if you want a little more shine.