A lot of this is due to ping and player synchronization. That's also tied to the main reason (in my opinion) why Blizzard is still adamant about keeping the GCD change - they want to reduce the amount of information each player can send to the server to synchronize per second. If every ability is being used every 0.5 or so seconds, the data packets are way easier to deal with.