It is simple once you understand the process
The engine creates realistic teams by assigning internal roles to the players of your squad.
Since the matches have 25 animations, and the games can't be repetitive, certain variables are added.
So each game is resolved by different players and, from all the posible factors that may affect a match, few are selected to impact the match -can be the condition, win bonus, morale and a etc and this is called scenario.
Basically, you know that you can't buy 11 players who scored 40 goals each with another club and see the same behaviour, because of that calibration when you sign these players for your team.
The engine will assign a "available internal role" that will affect 2 parameters, Dominance Power -so, the number of animations where a player can be elegible during a match- and the Contributive Power which affect the Effectivity. Then, the variable to have different players resolving the different matches is provided mainly by the Rating Variations, so you can predict that a player who got 68686 will have a push and will affect the next game.
From here the engine does 2 lists, one for attacking animations, and another for defensive animations selecting available players and each list starts from a extreme of the field, so in defense the GK is the first elegible player and thats why its so important and can be decisive, in attack the STs/AMC/AML-R are in the same line since 2015 and thats why many times the aml/r are the players who score instead the STs.
If you understand, that each team, for realistic reasons, have a limited of "good internal roles" and you can spot the dominance power/and contributive power assigned, you can resolve many common issues we experience.
For example, you may buy a attackign player with a lot of dominance power, but low efficency, and in this case he will stole animations from other players because of his power, just to miss. Here you need to sack him.
All is the same, lists of players to fill animations, their power of dominance so to be elegible for more animations, the 2 lists the engine does, the roles by default assigned so, for example, a ST could be a assistant and, you can train the shooting till 340% but the main role assigned, which is linked to an animation where he assists, will not change. You can not convert a scorer in assistant and viceversa because of that.
And no, the visual skills dont improve a player proportionally because the internal power caps. You could train a team to the Max. all 9* 340%s whites and you will see how the roles are distributed, how the caps to score, assist, be aggessive are spread, and, the same you can see this with a full 9* team 340% you can expose the internal programming, by playing vs a 1% team from enough levels of distance as to reach the max. distance that the simulator can simulate, so vs a -180% team will make your team uniform, and your 2* will be at same level as the 9* and here you may realize that the 2* is better programmed than the 9*
Just a bit of guide for all those who read here lol
At some point you can perceive these stuffs.