The reason they assign different TMCC addresses is you can do things like run the trailing unit backwards. Also, if you configure them in an MU (lash-up), the couplers operate correctly. If you put two locomotives with the same ID together and fire the rear coupler, both engines will uncoupler. Obviously, if you're coupling up to some cars, that's not what you want. Another plus is things like crew-talk will only come from the lead engine and not from all the engines.