MySQL - Force index degraded performance over time
Without any index hint, the Optimizer uses statistics to decide which index to use.  And it updates the statistics in a reasonably (but not always) intelligent manner.
With a hint, such as FORCE INDEX, it ignores the statistics and uses the given index if at all possible.
Probably the FORCE was beneficial at first.  But later the data in the table shifted due to new rows, changing distribution of values, or the phase of the moon.  And now that index is no longer optimal.
Your experience is why I warn people against using hints, saying &quot;it may help today, but hurt tomorrow.&quot;
If you would like to discuss the specific query, please provide SHOW CREATE TABLE and EXPLAIN SELECT...  It may be that a different composite query, without the hint, will work even better than what you had or have.
More on the history...  The Optimizer was heavily worked on in 5.6, 5.7, and 8.0.  A big change was moving to a &quot;cost-based&quot; model.  In theory, it produces better results.  In practice, it rarely changes anything.  And, as perhaps your case shows, it sometimes hurts.  The presumption is that the cost-based model is usually better than the previous algorithm.
The statistics are updated when any of these happens:

The table grows by 10%.  (This partially addresses your coworker's theory.)
You run ANALYZE TABLE.  In rare cases, this is a &quot;fix&quot; for a bad index choice, but it may or may not stick.
Some flavors of ALTER.