Why can't I lay tiles on an uneven floor?
If the floor is concrete the best thing todo is scorch the uneven floor with a grinder making deep grooves in various directions. Clean with water jetting loose dust away. Mix some new concrete. Wet the floor again and screte it to a level But dont make it smooth just leave it slightly rough maintaing the level. 
Pour water on as per concrete bag reccomebds. Usually 48 to 72 hours. Let the concrete dry for another 48 to 72 hours. 
Then using tile paste and the tile tool (the one that is straight on one edge and has teeth on the other) lay the paste. 

If it's a wooden moving floor. Like suspended on wooden beams and when you walk on it the glasses in your cupboard rattle then you place long as possible boards to have a flat even surface that is as continuous as possible. Make sure to find out which boards to use. I can't remember the name now. Then using the same tile paste lay your tiles. You might want to use chaulk or silicone to grout. But using normal grout is ok. It could just make hairline cracks or sometimes just a section would shatter. Just need to regrout. This is the minus side of unstable floors. 

I have tiled 1 place on a place in Europe a house built in 1st world war. Some german barracks where everything vibrated when you walked on it. I used that method 11 years ago and no complaints till today.