My vote is on since callbacks are messy and unreliable.
First of all you get many duplicates and there is a good chance that you don't get some that you really want. We have seen cases where orders change status while TWS had no connection with IB (during the maintenance window or during network issues) and none of the orderStatus messages that we would have expected were delivered after connection restauration But the execution reports and account updates did get delivered as soon as TWS reestablished connection.