The premise is simple. You're using code from another source (Drupal.org or Acquia). You may make changes to the code and so will the developers of Drupal and contributed modules. You want THEIR changes and you want to keep YOURS too.
The solution is SVN Vendor Branches and the almighty svn merge command.
The trick is learning how to use/setup the vendor branch in the first place.
The following steps, and this 32 minute video, should get you going with one of the most efficient ways to manage your Drupal codebase.