All they do is complicate things. In today's society where communication is easier across long distances, we should have a set Earth time. In each respective area, people will learn what time the sun rises and what time it sets. Communication and correlation over long distances would be simpler, and keeping track of world events would also be easier. Agree or no?
The only thing I find annoying about time zones is that not all countries use military time, e.g. the United States. I find this incredibly annoying whilst trying to plan events with friends in the UK. Sure, I could do the math and convert it easily enough, but it'd cut a step out to just switch the military time in general.