The amount that a Big Tech company could afford to pay a new employee is often more than the cost for a regular company to hire a trained employee again.
And hiring a trained worker is overall less expensive than hiring an untrained worker who takes a year to get up to speed and then leaves for greener pa$ture$.
What's more, if you have a brain drain of experienced people leaving for Big Tech, hiring an untrained worker who is able to make messes that won't be cleaned up is sometimes even more expensive than the wages paid to the employee.
The result of this is that after a few rounds of people leaving management is faced with two options. Either contract projects out as the standard approach rather than having software developers on staff or move to "we're only hiring experienced people with all of these qualifications" so that on the job training isn't necessary.
While some will also say "raise your wages to be competitive with Big Tech" - that isn't always practical or able to be justified for budgeting based on the revenue of the company.
The overall industry appears to be bimodal with "Big Tech" and "everyone else". Any employee who can move from "everyone else" to "Big Tech" can out compete any wage offered by "everyone else" (and in boom times this was a much easier prospect).
With that consideration, it was often very poor ROI for any company in the "everyone else" portion of the industry to offer training.