Nike is a corporation owned by its investors and run by executives who have to answer to a bottom line.
If Nike kept athletes who are no longer going to perform or be on TV, or controversial athletes, etc on contract, it would be losing money that it instead could be using on other athletes with brighter prospects.
The vast majority of Nike's budget goes to producing its products as cheaply as possible and taxes on selling those products as well as payroll for essential employees. Otherwise some other company would sell a product more cheaply or lure away Nike's essential staff just like every other company has to deal with. This primary budget is the number one concern of the company.
Nike like any other corporation has to then budget whats left between advertising and sponsorships of athletes that use its products. This budget is secondary in nature and can change dramatically from year to year because of business conditions and primary budget concerns.
Nike has figured that Mary Cain for instance is a better investment than Alan Webb. While it doesn't seem like a lot of money to keep on contract non-performing athletes thats money that instead could go to a television commercial or landing another more lucrative athlete. Its also money that could instead go to sponsor another venue for the sport. Is cutting 4 or 5 non-performing athletes for another venue, commercial, or 4 or 5 performing athletes worth it? Yes it is.
Even the appearance doing this is good for the image of the company and investors who make decisions with their money. Investors don't want to hold a company that gives away money to non-performing athletes over hot, new athletes, venues and advertising. The share price could be hurt for instance, and that could effect the people who answer to investors. Its enough that Nike backs track as much as it does to begin with. The sport is small and Nike budgets a huge amount for it, and not just for the athletes.