'Waiving players' in basketball refers to the process in which teams cut players and other teams have the opportunity to acquire those players. The waiver process is unique to the NBA, allowing players that have just been released by their current teams to find a new home in a short period of time.
Teams generally cut players mid-season upon deciding that their services are no longer viable. This determination is usually made when a player is under-performing or the team has an excess number of athletes at a specific position. Since keeping such players on the roster would result in the team having to pay salaries for minimal contributions moving forward, it is much more financially viable to grant these players the opportunity to play elsewhere.
Once a team elects to waive a player currently on the roster, the decision is final. In other words, the team cannot suddenly change its mind and retain the player.
Released players are placed on the waiver wire, where other teams across the league can submit claims within a 48-hour period. If several teams are interested, the player is appointed to a new team based on a priority order in which the teams with the worst win-loss records to date have the first crack at signing that player. For example, if the Golden State Warriors (50 wins) and the Atlanta Hawks (30 wins) both claim a recently waived shooting guard, the Hawks ultimately get the player because they have less wins and clearly have a greater need for additional talent.
Since most players are under contract at the time of their release, they are still owed the entirety of the salary spelled out in their respective contracts. If a player is claimed by a new team within 48 hours, that team is now responsible for fulfilling the remaining salary. If a player goes unclaimed and becomes a free agent (freedom to negotiate a new contract with a team of their choosing), the team that initially cut the player is on the hook for the majority of the money owed via the new agreement.