A child theme is useful because when activated, it inherits the parent theme’s features, styles, and templates. Your changes made in child theme will override the parent default functionality. When you update the parent theme, your child theme changes are safe. (from http://www.wpbeginner.com/beginners-guide/wordpress-child-theme-pros-cons/)
Theme updates for clients who have modified core theme files
Every theme update launched by our developers includes powerful new additions to an already multi-featured theme. In this situation, we cannot recommend clients to do a partial theme update since this can end up in breaking the themes core functionality.
When you need to modify the theme default options and code, you must consider that you need to continue updating the theme without problems since there could be updates related to WordPress compatibility or 3rd party APIs that you must have too. Here are our recommendations for you to overcome such a situation:
1. When possible, always work with a child theme
A WordPress Child Theme keeps the changes applied to the main theme separately, and in case of an update you can easily find your code and modify it. A child theme may still need to be updated to match modified parent theme files when this is necessary.
You can read more at WordPress website: http://codex.wordpress.org/Child_Themes
2. If you must modify core theme files, keep a log text file with all your changes.
When you wish to update, first download the latest version on your computer. And compare file size for the files you modified with the new files in the theme pack. Filezilla or Total Commander has that for sure.
There are also online tools that compare code. You can use that to compare the files you modified with the files updated. If there are new changes in our core, it means you must replace your changes in the new files, after the update.
This is the less recommended option since it implies having to re-do the same changes after every theme update.