Semantic code helps ensure consistent browser rendering because the browser has to make fewer decisions (read guesses) about what you intended. It knows how semantic code should be displayed. It does not know how some non-semantic gobbledygook somebody handed it is supposed to be displayed and so it guesses. Different browsers will make different guesses and thus there will be inconsistencies between how they show your non-semantic code. Meaning zombies will shuffle right through your fingers and into the wider world.