Gaines attended Boyd H. Anderson High School in Lauderdale Lakes, Florida. As a senior, he averaged 16.7 points and 7.0 rebounds per game for head coach Eugene Richardson. Gaines helped lead Boyd Anderson to a 30-2 record, eventually losing in the Florida 6A State Final.
College career
After redshirting his freshman season in 2008–09, he made his debut for the Mastodons in the 2009–10 season. In his redshirted freshman season, he played 31 games, averaging 4.2 points and 2.3 rebounds in 13.4 minutes per game. In his sophomore season, he became a go-to offensive and rebounding force for the Mastodons, going on to earn All-Summit League Honorable Mention honors. On January 31, 2011, he was named the Summit League Player of the Week. In 30 games, he averaged 14.8 points and 6.2 rebounds in 27.4 minutes per game. In his junior season, he was named to the All-Summit League first team and the NABC All-District second team. He hit at least one three-point basket in 24 of 30 games on the year, including a season-high five at home against Oral Roberts on February 15, 2012. In 30 games, he averaged 21.2 points, 5.9 rebounds, 1.2 assists and 1.4 steals in 32.1 minutes per game. In his senior season, he was named to the All-Summit League first team for the second straight year. He was also named to the Summit League All-Tournament Team. In 32 games, he averaged 19.8 points, 4.0 rebounds, 1.2 assists and 1.4 steals in 34.0 minutes per game.
On June 17, 2014, Gaines signed with Juvecaserta Basket of Italy for the 2014–15 season. In July 2014, he joined the Indiana Pacers for the Orlando Summer League and the Miami Heat for the Las Vegas Summer League. On December 17, 2014, he parted ways with Juvecaserta. The next day, he signed a two-month deal with Victoria Libertas Pesaro. On February 18, 2015, he parted ways with the club following the expiration of his contract. On February 27, Gaines joined the Oklahoma City Blue after the team acquired his returning player rights from the Maine Red Claws. In April 2015, after the end of the 2014–15 D-League season, he signed with Caciques de Humacao of Puerto Rico for the rest of the 2015 BSN season.
In the summers of 2016 and 2017, Gaines played in The Basketball Tournament on ESPN for Team 23. He competed for the $2 million prize, and for Team 23 in 2017, he averaged 11.5 points per game. Gaines helped Team 23 reach the second round of the tournament in 2017, where they then lost to Armored Athlete 84-77.
On July 18, 2019, he has signed with Virtus Bologna of the Italian Lega Basket Serie A. He averaged 9.7 points and 2.1 rebounds per game in the Serie A.
2020–21 season
On July 30, 2020, Gaines signed with Bnei Herzliya of the Israeli National League.
Personal
Gaines is the son Frank Sr. and Ronae Gaines, and has three siblings, Dwight, Alicia and Lashonda.