Roberts was born in Vicksburg, Michigan, and attended the University of Michigan, originally recruited to play football by coach Bo Schembechler. He was drafted by Detroit and eventually earned the dubious honor of replacing Al Kaline in right field for the Tigers. Roberts was dealt along with Terry Humphrey, Gene Pentz and Mark Lemongello from the Tigers to the Astros for Milt May, Dave Roberts and Jim Crawford on December 6, 1975. With the Mariners needing a right-handed power-hitting outfielder and the Astros more speed and infield depth, he was sent to Seattle for Jimmy Sexton two years later on December 5, 1977. His most productive season came in 1978, when he led the Mariners with a.301 batting average, good for sixth in the American League. In the Opening Game, he belted a grand slam off Minnesota Twins pitcher Geoff Zahn. On February 5, 1983, Roberts was traded by the Blue Jays to the Royals for a young Cecil Fielder. He also pitched one inning for Kansas City in 1984, giving up three earned runs. He played his last game on September 30, 1984. At the end of his career it was discovered that Roberts had seriously bad eyesight due to an accident when he was a child. "I have real bad eyes," Roberts said, "I stabbed my eye with a knife when I was a kid. I was goofing around with my jackknife. I kept it hidden because I wanted to be a ballplayer. I had bad focusing point in my right eye and bad depth perception in my left eye, but I kept it secret so I wouldn’t be released. I never told anyone that I had such bad vision in my right eye, not a manager, not a teammate, not anyone. When we had our physicals in spring training there would be a long line, just like a cattle call. I would sneak up and read the line they wanted us to read and memorize it. Then when I got up there I’d just recite what I’d memorized. No one ever figured it out. I would always force myself to really concentrate on reading the ball and tracking the ball." In an 11-season career, Roberts posted a batting average of.267 with 78 home runs and 328 RBI in 901 games played. Following his professional playing career, he began a career managing in the Minor Leagues. Roberts played winter ball with the Leones del Caracas club of the Venezuelan League during the 1977–1978 season.