I found the best way to clean my ceramic tile floors was to simply sweep or vacuum thoroughly first then use a mild detergent in a bucket of hot water (and I keep the cleaner on the light side - too much is the main cause of cloudiness and streaks on your floors when you are done.) Also, make sure you are not using a sponge mop - it just pushes dirt and grime into your grout. I use a chamois-type mop and it works great!
I also use my steam mop to clean them about every second or third cleaning and that does a great job too!
Hope this helps some!