Anderson attended Prattville High School from 1988 to 1992. Anderson was a student and a letterman in football and baseball. He was coached by a baseball legend in Alabama known as Roger Lambert who also coached Marlon's two younger brother's Keto Anderson and Randy Anderson. Coach Lambert was inducted into the Alabama Sports Hall of Fame in 2011.
Anderson attended the University of South Alabama. As a senior, he posted a .357 batting average with thirteen home runs, and was the Sun Belt Conference Player of the Year and a Baseball America first team All-American.
Anderson was drafted by the Philadelphia Phillies in the second round of the 1995 amateur draft. In 1998, while playing for the Scranton/Wilkes-Barre Red Barons, he was named the International League Rookie of the Year. On September 8 of the same year, he made his Major League debut as a pinch hitter, hitting a home run off Mel Rojas of the New York Mets.
Anderson was the Phillies starting second baseman in 1999, 2001 and 2002. In 2003, because neither his offense nor his defense were considered exceptional, Plácido Polanco replaced him as the Phillies second baseman (also Chase Utley was then a top prospect of the Phillies' Triple-A Scranton/Wilkes-Barre Red Barons); Anderson was not offered a contract by the Phillies and signed as a free agent with the Tampa Bay Devil Rays. In 2004, Anderson signed with the St. Louis Cardinals and filled a niche as a utility infielder. He also became known for his skill at pinch hitting, tying for the National League lead in pinch hits with 17 that year.
In 2005, Anderson signed with the New York Mets, where he served as a pinch hitter. Anderson batted over .300 in pinch-hit situations. Anderson’s Met highlight occurred during an interleague game with the Los Angeles Angels of Anaheim on June 11, 2005, when he tied the score in the ninth inning with an inside-the-park home run off Angels closer Francisco Rodríguez. The ball caromed away from center fielder Steve Finley, who ran it down in right-center field as Anderson circled the bases. Anderson barely beat the play at the plate, colliding face-first into catcher José Molina's mask.
On November 18, 2005, Anderson signed a two-year contract with the Washington Nationals. His contract ensured that the only two big leaguers ever to be named Marlon (the other is Marlon Byrd) would be teammates again on the 2006 Nationals. They were also teammates on the Phillies in September 2002 when Byrd was called up.
On August 31, 2006, Anderson was traded by the Nationals to the Los Angeles Dodgers after scoring the winning run in a 6-5 thriller against the Phillies in Washington. At the time, Washington had been struggling for much of the season and was not a playoff factor while the Dodgers appeared to be headed for the playoffs with the NL West division crown. Anderson was brought in hopes to assist in the Dodgers' playoff push. He was intended to be a pinch hitter, but Anderson won the starting job in left field when rookie Andre Ethier struggled towards the end of the season.
On September 18, 2006, with the Dodgers playing the San Diego Padres for first place in the National League West with only two weeks left in the regular season, Anderson went five for five, including two home runs. His second home run that night was the last of a record tying four consecutive home runs in the bottom of the 9th inning, following home runs hit by Jeff Kent, J. D. Drew, and Russell Martin. Anderson's home run tied the score at 9-9 after the Dodgers trailed 9-5 to begin the inning. The Dodgers would eventually win the game on a walk-off home run by Nomar Garciaparra, and would tie San Diego for the NL West title. The tiebreaker however, went to San Diego as they had beaten the Dodgers 13 of 18 games in 2006. The Dodgers would still make the playoffs after being awarded the wild card spot.
The emergence of young Dodgers prospects Matt Kemp and James Loney contributed to Anderson's playing time diminishing during the first half of the 2007 season and he was designated for assignment by the Dodgers on June 29, 2007, ending his tenure with the club. He cleared waivers and became a free agent on July 11. He was promptly signed to a minor league contract by the Mets on July 12.
One week later, on July 19, Anderson was called up to play for the Mets. Ironically, he started his first game back with the Mets against the Dodgers, the team that had just released him. He had a 2-RBI single in that game.
On August 29, 2007, Anderson was part of a controversial call between the Mets and second-place Philadelphia Phillies at a game at Citizens Bank Park. With the Phillies leading 6-5 with one out and the bases loaded in the ninth inning, Shawn Green hit a high-chop ground ball to shortstop. In trying to break up a double play, Anderson slid into Tadahito Iguchi, the Phillies second baseman. The second base umpire, C.B. Bucknor, called him out on interference, resulting in a double play. Replays of the incident showed that Green would have easily beaten out the play. The Mets would go on to lose the final game of the series, resulting in a critical four-game sweep by the Phils, who would eventually take the division on the final day of the season from the Mets.
Anderson signed a two-year contract worth $2.2 million to return to the Mets in 2008. On May 23, 2008, he seriously injured his hamstring in a game against the Colorado Rockies on a groundout.
On April 11, 2009, the Mets designated Anderson for assignment. Later that week, he was released by the Mets.
On June 14, 2009, Anderson signed with the Newark Bears of the independent Atlantic League.
Anderson served as a guest color analyst for the Philadelphia Phillies radio broadcasts during the 2014 season.