So where do you draw the line? We just went en famille to our local Vietnamese place and waited over an hour from the time we placed our very basic order for 4 dishes + rice to when it actually arrived. Meanwhile several tables arrived, were served, and in one case paid and left before we even saw our food.
I am happy to wait for freshly cooked food, and to be fair it was superb, but I think more than 20mins wait between order/food, especially in a non-pretentious local diner is excessive.
It's happened to us before in more upmarket places and on a couple of occasions I'm sure the slow service was deliberate to make us buy more overpriced pre-dinner drinks, and obviously if you order things that take time to prepare you make allowances, but if it's just incompetance or chaos in the kitchen how much slack are you prepared to give??