FWIW, we had Thanksgiving dinner reservations at a restaurant in Provincetown, and were seated promptly at a 4-seater, even though there were just two of us, and they did have 2-seat tables (all occupied). So it does happen. But they knew what their obligation was to us, and had tight control on the number of reservations they made.
Some more points:
A number of people have pointed out that reservations at Disney aren't real reservations. That's good to know, but not helpful to the OP, nor a justification of Disney's approach. They made a conscious name change from "priority seating" to "advanced dining reservations." I see nothing on their dining FAQ saying that reservations aren't really reservations. If they didn't mean it, they shouldn't have changed the name. Conversely, if they do mean, it's their job to implement a system that works. Saying "this is the system we have" isn't an excuse.
Some people have asked "what would you have liked them to do (or how could they have compensated you)." This is an understandable question, but it puts the customer into an unfair position. Most people don't have enough experience with screwed up dining reservations to know what's fair, let alone come up with it while they're stressed out just trying to eat in time to get to their next planned event. The best answer I can come up with is "Publish a policy on their reservation page, before people actually select a restaurant, explaining what the reservation guarantees, and what to expect if you're not seated within a reasonable time." It's what the airlines do. Granted, the airlines had to be regulated into doing that, but a customer-focused company like Disney ought to set the lead, not be a follower.
Some people said a FP+ for the party was reasonable compensation. Who decides what's reasonable? Gong back to the airlines, if they bump you can't get you there within an hour of your scheduled arrival time, you get double your money back. With a meal, the timing may be different, but I'd think that if you're not seated within 30 minutes, you should get half off your meal. Sixty minutes, then the entire meal is gratis plus an additional free meal at a comparable restaurant. Why isn't this more reasonable than a FP+?
Finally, many people have said they can't stop people from hanging out. Sure they can! It's their restaurant. They can do it in the same way people have suggested is adequate compensation: If they see they're getting backlogged, and tables aren't paying their check or are still sitting after having paid their check, a manager can come over and tell people "Normally, we'd love to have you stay. But we're really busy tonight. We'd like to offer you a special FP+, good at any ride at any of the parks, if you could kindly free up the table in the next few minutes." How can offering the FP+ to people who've already eaten be any worse than offering it to the people who've been made to wait an hour?