To answer the question, Herschel played on many teams because
1) Jimmy Johnson completely fleeced Mike Lynn of the Vikings getting outsized trade value for Walker. Dallas needed players and draft picks to fuel a talent infusion, and Walker was one of their (very) few tradeable assets.
2) The coach of the Vikings, old-assed Jerry Burns, didn't have the first clue how to use Walker believing in a committee approach, and rather than resign him at his salary they released him a couple of years later. He was a curmudgeon who resented Walker being thrust on him and losing multiple veterans across the team as part of the trade. Burns retired in 1991.
3) Walker went to Philly (under Rich Kotite) and helped them immediately (averaging 4.0, 4.3, and 4.7 ypc over the next three seasons)-- and they started rotating backs. The new coach Jim Rhodes signed 25 year old Rickey Watters and rather than pay both, they cut Walker.
4) Who (at age 34) went to the Giants as insurance for an injured Rodney Hampton, who then also cut him when the younger Hampton re-signed
5) Dallas then signed Walker, mainly to keep him from going to San Francisco, and Jerry Jones all but benched him in favor of playing Emmitt Smith whom he had just paid a fortune. Walker played well every time he touched the ball, but they refused to give him carries and even throw him the ball, despite his early success there and more than doubling the y/r from other backs like Emmitt Smith. Bewildering, honestly. He was great on ST's often bailing the team out time and again with long KR's.