The SQL Server query optimizer uses statistics to create good query plans. When your statistics get out of date, the optimizer can make very bad choices about how to run queries.
Inserting or updating lots of rows can easily cause statistics to get out of date, because there will be new and different data in the table(s) that the original statistics didn't consider.
SQL Server will update statistics automatically when you hit certain thresholds, see Statistics - AUTO_UPDATE_STATISTICS Option.
However, if you have that option turned off, or if you're just not hitting the threshold, or if the sampling rate for the automatic stats update isn't good enough, then you'll have this problem.
One solution is to enhance whatever process does all of these inserts to manually update stats (as you mentioned in your post).
If you're on a new enough version (SQL Server 2016 SP1 CU4 or SQL server 2017 CU1), you could also set the
PERSIST_SAMPLE_PERCENT option to make sure that future auto stats updates use a high enough sampling rate for your needs. See here for more information on that: Enhancement: New keyword is added to CREATE and UPDATE STATISTICS statements to persist sampling rate for future statistics updates in SQL Server