Roberts attended St. John's Jesuit High School, in Toledo, Ohio. He was a three-time Associated Press All-Ohio selection, two-time District VII Player of the Year, and two-time Toledo City League Player of the Year. He was also named the 2004 Ohio Division I Co-Player of the Year, after guiding St. John's to the state championship game. Roberts' 18 points in the finals led all scorers, as Hamilton edged St. John's 51–48.
College career
In his four-year college basketball career at Dayton, Roberts played in a total of 125 games, averaging 15.7 points, 3.0 rebounds, and 2.8 assists per game, while earning Atlantic 10 All-Rookie team honors, All-Atlantic 10 second team honors, All-Atlantic 10 first team honors, Atlantic 10 All-Academic team honors, and NABC Division I All-District 10 first team honors. In 2008, Roberts was named as one of 30 nominees for the John R. Wooden Award, one of 30 nominees for the Naismith Award, and one of 16 finalists for the Bob Cousy Award.
Professional career
Early years
After failing to be drafted in the 2008 NBA draft, Roberts joined the Orlando Magic's summer league squad, for the Orlando Summer League, and with the Los Angeles Lakers' summer league squad for the Las Vegas Summer League. He later signed with Altshuler Saham Galil Gilboa, of Israel, for the 2008–09 season. On July 10, 2009, Roberts signed a two-year deal with Brose Baskets of Germany. That same day, he joined the Sacramento Kings' summer league squad for the 2009 NBA Summer League. In August 2011, Roberts re-signed with Brose Baskets, on a one-year deal. While with Brose, he won three German Leaguechampionships, and three German Cups.
New Orleans Hornets/Pelicans (2012–2014)
In July 2012, Roberts joined the New Orleans Hornets' summer league squad for the 2012 NBA Summer League. On August 16, 2012, he signed a multi-year NBA deal with the Hornets. On March 25, 2013, he had a breakout performance, with a career-high 18 assists, to help the Hornets snap the Denver Nuggets' 15-game winning streak. In April 2013, the Hornets changed their name to the Pelicans. In July 2013, Roberts joined the New Orleans Pelicans' summer league squad, for the 2013 NBA Summer League. He went on to finish with the highest free throw percentage in the 2013–14 NBA season.
On July 23, 2014, Roberts signed with the Charlotte Hornets. On April 13, 2015, he scored a career-high 23 points, after coming off the bench, in a 100–90 loss to the Houston Rockets.
On February 16, 2016, the Hornets traded Roberts to the Miami Heat, in a three-team trade that also involved the Memphis Grizzlies. He was traded again on February 18, along with a future second-round draft pick, to the Portland Trail Blazers, in exchange for cash considerations. The next day, he made his debut for the Trail Blazers, in a 137–105 win over the Golden State Warriors, recording seven points scored in four minutes played.
Return to Charlotte (2016–2017)
On July 7, 2016, Roberts signed with the Charlotte Hornets, returning to the franchise for a second stint.
Return to Europe
On July 23, 2017, Roberts signed a two-year deal with the Greek club Olympiacos. The two-year contract was worth $4 million, and included NBA opt-out clauses. Olympiacos officially opted out of said contract and released Roberts, on June 27, 2018. On July 13, 2018, Roberts signed a one-year deal with the Spanish club Unicaja.