On October 13, 2014, the Cincinnati Bengals resigned Hamilton. On December 24, 2014, he was promoted to the 53-man roster. On July 30, 2015, he was waived by the Bengals. On August 1, 2015, Hamilton was claimed off waivers by the Miami Dolphins. On September 5, 2015, he was released by the Dolphins. The Carolina Panthers signed Hamilton to a futures contract on January 12, 2016. On July 25, 2016, Hamilton was released by the Panthers. On August 5, 2016, the Pittsburgh Steelers signed Hamilton to a one-year, $460,000 contract. On September 3, 2016, he was released by the Steelers as part of final roster cuts. The next day he was signed to the Steeler's practice squad. He was promoted to the active roster on October 15, 2016, and a day later, caught a 23-yard touchdown pass from Ben Roethlisberger, his first in the NFL, during a 15-30 loss to the Miami Dolphins. It was his first career start and he finished with two receptions for 36 receiving yards and a touchdown. The following week, he earned his second consecutive start and caught three passes for 36 receiving yards in a 16-27 loss to the New England Patriots. In the season finale against the Cleveland Browns, he caught the game-winning touchdown on a 26-yard pass from Landry Jones to win in overtime and finished the game with three receptions for 54 receiving yards and a touchdown. Hamilton was the Pittsburgh Steeler's sixth wide receiver on their depth chart throughout the season, behind Antonio Brown, Markus Wheaton, Sammie Coates, Darrius Heyward-Bey, and Eli Rogers. He finished the season with 17 receptions, 234 receiving yards, and two touchdowns in 11 games. Hamilton also had five kick returns for 83-yards and made one tackle on kickoff coverage. On January 26, 2017, Hamilton was re-signed to a one-year deal by the Steelers. Hamilton entered training camp in competing with Sammie Coates, Juju Smith-Schuster, Justin Hunter, Marcus Tucker, Eli Rogers, and Darrius Heyward-Bey for a backup wide receiver position. On September 2, 2017, Hamilton was waived by the Steelers. On September 18, 2017, Hamilton was signed to the Houston Texans' practice squad. He was promoted to the active roster on November 22, 2017. On March 21, 2018, Hamilton was waived by the Texans. On March 22, 2018, Hamilton was claimed off waivers by the Arizona Cardinals.