I agree Andy, both ICF and Selbourne make good arguments in favour of their preferred system, however neither system is perfect, and they both have flaws. The pre booking of dining in the MDR leads to empty tables while there are customer waiting in the virtual queue, and because P&O dont want to antagonize those passenger unable or unwilling to use the app we have 2 queues, which further slows down the virtual queue. Perhaps the answer is to go back to having one MDR freedom via one virtual queue, and one for pre booking with a virtual queue back up for slack periods.
As for the theatre I agree with ICF that the old system did result in you needing to get there in good time if you wanted the 8:30 show. The app could work here if they introduced a booking charge which was cancelled when you checked in or if you cancelled before the show, say 30 minutes prior. That should reduce no shows and minimise last minute arrivals.
The old dining system was also flawed but mainly because there were never enough tables for two, that now seems to have been addressed so my version should work reasonably well. But it would probably struggle the same during school holiday cruises when ships are full to bursting.
Of course both options do need a robust IT system that works fully and well, which might be why the P&O version is so poor.