This is a simple question with a complicated answer. Essentially, waivers are a form of permission to make a specific transaction, granted to the requesting club by the other 29 clubs. Though the term most often used is simply "waivers", there are 4 different types of waivers: unconditional release waivers, trade assignment waivers, optional assignment waivers, and outright assignment waivers.
Unconditional release waivers are required whenever a club wishes to release a player. They are irrevocable, and though claims can occur, the player being claimed always has the right to reject the claim and become a free agent.
Trade assignment waivers (a.k.a. August waivers) are required to trade a player after the July 31 non-waiver trade deadline. They are revocable, however they can only be withdrawn once per player per year. After that, they become irrevocable. If a claim is made, the team requesting the waivers has the option to a) pull the player back off waivers, b) work out a trade with the claiming team, or c) simply let the claiming team have the player (along with the remainder of the player's contract). Every August, trade assignment waivers are requested for many players, including many players that teams have no plans on moving. In addition to guaging interest or possibly unloading a contract, teams request August waivers to disguise their true intentions. If teams only requested waivers for players they were interested in moving, there would be far more claims made. By placing nearly everyone on waivers, it becomes harder for other teams to sniff out the truly available players to either block a rival's potential trade by placing a claim or smother the market for a player (since a claim limits the potentail trade partners to one team). Because every claim placed is also an offer to take on that player's entire remaining contract.
Optional assignment waivers are technically required to option a player to the minors if the player is more than 3 years removed from his initial MLB report date (i.e. the first time he was called up). They are also revocable, however they can only be withdrawn once per player per waiver period. I say they are “technically” required because I am not aware of any player that has ever been claimed in this manner, which is why you never hear about them. When DJ Carrasco was optioned to Buffalo in late April, the Mets had to obtain optional assignment waivers.
Most of the time (at least outside of the month of August), when people mention "waivers", they are referring to outright assignment waivers. Outright assignment waivers (or “outright waivers”) are irrevocable, and they are required whenever a team removes a player from its 40-man roster and wishes to send him to a minor league affiliate. For instance, outright waivers are necessary whenever a player who is out of options is sent to the minor leagues. Additionally, there are times when a player has options remaining, but still must clear outright waivers. For example, to make room on the 40-man roster for free agent acquisition Chris Young this offseason, the Mets removed Tobi Stoner from the 40-man roster. They then had to secure outright waivers in order to send him to Buffalo. This is commonly referred to as “going unclaimed”, “passing through waivers”, or “clearing waivers”.