NFL teams can cut or trade players they're no longer interested in. However, if the player is under a guaranteed contract, the team may have to pay him for as many years as his contract is valid.
In a recent move, the Houston Texans traded Brock Osweiler to the Cleveland Browns and gave up a 2nd round 2018 draft pick. This is unusual since instead of gaining a draft pick or another player in return the Texans gave up a draft pick. They essentially gave the Browns their draft pick so that they could get rid of Osweiler (and make salary space to pursue Tony Romo). Has this happened before that a team was willing to gave up a draft pick purely to get out paying a player?