Yes, there are many times when realism must be sacrificed. But it isn't a necessity to have it in particular areas or particular ways, as there are other games that don't.
Right, it's something that's got to be looked at individually, which is why the blanket statement that something "isn't realistic" is usually the foundation of an argument that is rather poor in merit in terms of game design.
In BB, having essentially "unlocked" training for 3 players per team without regard to when/where/if they played sounds nice, and certainly more "realistic." But it would be an unmitigated disaster. Top teams would benefit because they could not only focus more fully on their competitions but would also gain the ability to create the unique type of players that they could make great use of without any of the sacrifices involved. Likewise, because training players would become so easy, people would be a lot less likely to train players with lower but serviceable potential because they're useful to the team, and instead fill that spot with another veteran and just focus on higher potential players. Before too long, there would be a market flooded with highly trained, high potential players, but nobody to buy them.
For game design purposes, it makes perfect sense to require players to be trained in their position to gain skill in it, just like a player gaining skills in a job class in an RPG.