Most devices come with a toggle button for power. It tells the device to go to the opposite state that it is currently in. So if the device is in an on state, the toggle command turns it off. If it's off, the toggle command turns it on. The problem is when you have multiple devices in your entertainment center and they are told to toggle. If one isn't in the same state as the others, the devices won't end up in the same state. This can happen if something interferes with the IR signal to the device.
Discrete Power, on the other hand, has separate commands for On and Off. If the device is off, it will turn on, but if the device is already on, sending the Power On doesn't do anything (well sometimes it does). Same with off.
As for CEC, I avoid it at all costs. It's a pain to use for anything other then a basic setup. It might be appropriate for your configuration, but as you noted it can take time. You could try like I show in the image below, just remove the existing toggle and then drag the power off commands to the macro.