So the concept of 'Rubber banding' has existed for a very long time and it is a principle that leads to a lot of engagement to the user because the principle always keeps the user in the 'flow channel' (The Art Of Game Design by Jesse Schell and Mihaly Csikszentmihalyi).
Now all designers are familiar with this so I won't spend time explaining that but you can use click here for more info on it.
So basically 'Rubber banding' within a game session is changing the rules of the game in such a way that the AI or the user who is winning gets slightly disadvantaged or the user who is losing gets a slight advantage to keep the session engaging. In an example of a racing game, suppose Player A is ahead than player B by 30 seconds, then player B is slightly going at a faster rate even though their shown speed is same. NFS 2 is one of the earlier examples using this principle that if you are behind you are slightly going faster then your speedometer is showing.
Now this principle can be applied to a lot of games and has certain repercussions based on your audience. In a casual game this principle is very useful since the casual gamer just wants to have a fun session and not dive deeply into the rules of the game.
Taking an example of a match 3 game, if the player has very few moves left and the objective is very far away then the cascading effect from top of the blocks / colors can be such that they aid the user to make sets of 4 or 5. Your intention for the purpose of engagement as well as monetization would be to try and get either complete the level with only 1-2 extra moves or no moves at all or in terms of monetization to just miss finishing the level by 1-2 extra moves. This would drive both your engagement higher because the user feels challenged and at the same time it can be a monetiation driver from the point of view that the user can see he can finish the game in 1-2 moves so he would be tempted to buy extra moves.
Taking an example of a more hardcore competitive game like League of Legends, if the player has made a mistake in anyway he is punished heavily for it. Rubber banding can exist in such games but to a very low level because the hardcore player would feel very annoyed at the concept of their advantage being nullified. Hardcore players care about the rules of the game and their skill should never be unrewarded or nullified. It is however utilized to a certain extent in game in terms of shut down gold (If opponent has had a high number of kills without dying and if you kill him, you get bonus gold).
In casual games however it is of essence for engagement and monetization. This principle can be applied to most casual games similar to the example I took of a match 3 or racing. In sports it can be dynamic behavior of the AI incase the difference in score is too much than it weakens up a bit and allows the user small victories.
Theoratically, you can say the concept and effect of rubber banding is a high engagement driver in casual games and is less effective in hardcore games.
In my limited experience of being a designer, I have found this principle very useful and a must have within a game session / level. An adaptive AI or adaptive rules of the game help keep the user within the 'Flow Channel'. It is used on a lot on a macro level in terms of difficulty of levels but the key lies in making it lie within a single level / game session.
Hope this article helps in driving engagement in your games :-).