Orders consistently sit at restaurants long after they're made. This happens to me all the time -- the reason it takes food an full hour to arrive (it takes the restaurants themselves less than half the time to fulfill delivery) is because the drivers don't pick up the food quickly.
Just had confirmation of this today. My order of barbeque from a restaurant 11 blocks away sat at the restaurant for a full hour and 6 minutes and I got my food a full 90 minutes after order. This isn't a one-off, it's typical.
But what are the options? GrubHub, UberEats etc all have similar issues. The solution is this: learn to cook.