In my case, once I started using 5000 I didn't want to be back to 500.
For example, think about the power of UDT (User Defined Types) and Add-Ons.
I can create a UDT named "Motor", and have everything I need for a motor. I don't have to define each and every bit or integer separately. And everything will be tied to the corresponding motor. So, when I type "Motor_1" as the name of a tag, I will have access to all its components.
Then, I can create an Add-On named "Motor Control", define all I want to do to control a motor, and then just assign that Add-On to "Motor_1". No need to re-type code and/or search and replace addresses.