The big problem is the short shelf life of RBs. The average younger RB in the NFL is better than the average older RB in the NFL. As consequence of the position, they take a beating, and that beating shortens their careers.
When it comes to working with the cap, the value for almost every RB in the league isn't there. There aren't too many Adrian Petersons in the league. No matter how good these guys are when they sign, teams know that, in two to three years, that value will disappear.
Fans were calling this out when Ezekiel Elliott got his big contract, and they were proven right in that case.