Roberts attended Baylor University for two seasons, where he made the Big 12 All-Freshman Team, but transferred to Mississippi State University in 2003 following the basketball scandal that rocked Baylor's program that year. He was a first-team All-American and the SEC Player of the Year in 2004, leading Mississippi State to its first top-two seeding in the NCAA tournament. In the 2003–04 season he averaged 16.9 points and 10.1 rebounds. He was first-team All-SEC and a first-team All-American, finishing third to Jameer Nelson and Emeka Okafor for national player of the year honors. In the 2004–05 season he averaged 16.9 points and 11 rebounds. He recorded the first triple-double in Mississippi State history against Nicholls State University with 18 points, 11 rebounds, and 12 assists, while wearing an irritating translucent plastic face mask to protect his broken nose.
Roberts was a second round draft pick (55th overall) of the Seattle SuperSonics in the 2005 NBA Draft, but was traded to the Memphis Grizzlies in exchange for two future second round draft picks and cash considerations. He was signed to a contract on July 10, 2005.
After two seasons with the Grizzlies, in July 2007, Roberts moved to Europe and signed with Greek powerhouse Olympiacos on a two-year deal. However, in October 2007, he was released from his contract before the season started.
Without a club and not playing competitive basketball for several months, Roberts was signed by Serbian team KK Crvena zvezda on September 17, 2008, to a one-year contract.
On September 25, 2009, Roberts was signed to the Indiana Pacers training camp roster, but got released less than a month later on October 19, 2009.
Two days later, October 21, 2009, Roberts signed a one-year contract with KK Partizan. With Partizan he won the 2009-10 Serbian National Championship, the 2010 Serbian National Cup, the 2010 Adriatic League and took 4th place at the Euroleague's Final Four in Paris.