,,, it's just merely to keep them off the field at a competitor.
Not entirely. The one problem I see with the current limits of 85 total, 25 per year is that those two numbers don't go together. With about half the players ending up in school for 5 years, in theory if you took 25 a year you'd end up with 112 on scholarship. Of course you lose some to attrition (injuries, transfers, academics, etc), but you also add some due to walkons. Using some JUCOs also reduces the number.
The result is that the 85 limit, combined with the 25 per year limit encourages schools to encourage attrition, meaning suggesting to a player that he transfer. They oversign, then encourage players to leave that don't look like future starters. I don't think that's a good thing. I think that if he wants to transfer, fine, but if not, he shouldn't be pushed into it.
One way to address this would be to increase the cap from 85. A better way would be to reduce the number that they can give out per year from 25, to perhaps 22.