When born, Jacob is given the name "Jacob" meaning, "trickster, supplanter, heel grabber." After he wrestles at Jabbok, he is renamed "Israel" meaning "strives with God." However, after this encounter, the text still calls him Jacob most of the time. Then in Genesis 35, he has another encounter with God and it then begins to call him Israel in the text. But not all the time.
Genesis switches back and forth between the names at this point. From Gen 35:21 to the end of Genesis, he is called Jacob about 35 times and Israel about 39 times.
One explanation I heard is that he was called Jacob as long as he was living in rebellion. That works for Gen 32 to 35, but not for after because it's then back-and-forth. There are even verses such as Gen 46:2 where he is called by both names in the same verse.
What might be the reason for this back and forth?
Edited to correct the meaning of Israel.