What is the purpose of the “term_id” column in the “wp_term_taxonomy” table?

In versions of WordPress prior to 4.2 terms could belong to multiple taxonomies. This is no longer the case and in WordPress 4.2 or newer new terms cannot belong to multiple taxonomies and any existing terms that belong to multiple taxonomies are split into multiple terms whenever they are updated.

You can read this post for an introduction to the change from before it was made: https://make.wordpress.org/core/2015/02/16/taxonomy-term-splitting-in-4-2-a-developer-guide/

There is also this article which describes the splitting process: https://developer.wordpress.org/plugins/taxonomies/split-terms-wp-4-2/

So unless you are dealing with pre-4.2 data the values of these columns should always be the same.