[1] Marsh played junior hockey with the London Knights of the OHA during the 1973–74, appearing in 13 games, while not earning any points and two penalty minutes.
Marsh returned to the Knights during the 1974–75 season, playing in all 70 games, scoring four goals and 21 points, while leading the club with 160 penalty minutes.
In the playoffs, Marsh scored three goals and eight points in 20 games, helping London to the J. Ross Robertson Cup finals, where they lost to the Ottawa 67's.
In his final season with the Knights in 1977–78, Marsh scored eight goals and 63 points in 62 games, while leading the club with 192 penalty minutes, helping London finish in first place in the Emms Division.
Marsh made his NHL debut with the Flames against the Chicago Black Hawks on October 11, 1978, where he was held with no points in a 4–4 tie.
On April 10, Marsh appeared in his first playoff game, earning no points in a 4–1 loss to the Toronto Maple Leafs.
During the third game of the 1979–80 season, Marsh scored his first career NHL goal, against Phil Myre of the Philadelphia Flyers in a 9-2 Flames victory.
In the post-season, Marsh earned his first career playoff point, an assist on a goal by Eric Vail in the third game of the Flames first round series against the New York Rangers.
Marsh again played in all 80 games with the team, scoring a goal and 13 points while accumulating 87 penalty minutes, helping the club to the post-season.
In 16 playoff games, Marsh earned five assists, as Calgary lost to the Minnesota North Stars in the NHL semi-finals.
In the post-season, Marsh earned six assists in 19 games, while accumulating 65 penalty minutes, as the Flyers lost to the Edmonton Oilers in the 1985 Stanley Cup Finals.
Marsh played his first game with the Toronto Maple Leafs on October 6, 1988, earning no points in a 2–1 loss to the Boston Bruins.
Overall, Marsh scored a goal and 16 points in 80 games during his first season in Toronto, however, for the first time in his NHL career, he failed to qualify for the playoffs.
In 79 games, Marsh scored a goal and 14 points while earning 95 penalty minutes, helping Toronto reach the post-season.
Nine days later, on February 17, Marsh recorded his first goal with Detroit, beating Ed Belfour of the Chicago Blackhawks in a 3–3 tie.
On October 27, Marsh earned his first point for Ottawa, an assist on a goal by Laurie Boschman, in a 7–2 loss to the Pittsburgh Penguins.
Marsh was announced as the head coach of the Canadian Women's Hockey League's Ottawa franchise on August 31, 2009.
[5] In late 2013, Marsh joined HockeyBuzz.com as one of the website's featured bloggers, writing stories that mainly touch on his playing days and providing insight to league issues and happenings.