In defense of this, 9 times out of 10 it’s the fault of the people with appointments ahead of you, not the doctor. Patients who are consistently late, and want to use the doctor’s time as a chitchat session after their exam is done push the schedule back until the whole day is behind. The trick is to either get the first appointment in the morning or the first after lunch. I agree that hours is too long to wait though; up to about 45 minutes is probably a realistic cushion. I make sure to schedule Dr. appointments on days when I have nothing else pressing to do, and bring a thick book. 
I’m well known for my punctuality. My friends even harass me about it. If I say I’ll call at 6:00, I’ll call no later than 6:00. Nothing pisses me off more than people who are late. I have no tolerance for it. I’m a very busy person and there’s a hundred different things I could be doing rather than waiting for you. I have a tight schedule and I have everything planned to the minute.
Example:
Last weekend me and couple of my friends were going to the bar. I was supposed to be meeting other friends at the bar at 10:30. I arrive at my friends house at about 10:00. I should also state they are girls, and they take for frickin ever to get ready. They must have changed their clothes about fifteen times!! We never left until 11:45. You can imagine how impressed I was about this. Especially since I’m a guy and it takes me about five minutes to shower and get ready.
Well I gotta go make a phone call.