Blizzard Entertainment created the WoW Token in 2015. In my opinion, the purpose was to give players a safe and secure way to buy in-game gold directly from Blizzard (and not from a disreputable gold seller). Today, Blizzard Entertainment expanded the potential uses for a WoW Token. Players can now exchange a WoW Token for Battle.net Balance.
Previously, the WoW Token had two purposes. A player who wanted to buy in-game gold could log in to World of Warcraft and spend real world currency on a WoW Token. After buying one, that player would put the WoW Token onto the World of Warcraft in-game Auction House. The player would get a quote that confirmed how much gold they would receive whenever their WoW Token sold.
Another player, who wanted to buy game-time, but did not have the real world currency to spend on it, could use their in-game gold to buy a WoW Token from the World of Warcraft in-game Auction House. That player would spend their in-game gold and use the WoW Token to pay for a month of game-time.
Today, Blizzard Entertainment has added a new option. World of Warcraft players who want to add to their Battle.net account can visit the World of Warcraft in-game Auction House, buy a WoW Token, and choose to redeem it for Battle.net Balance. In short, this gives players a new way to add to their Battle.net Balance without having to use real world currency.
The cool thing is that a player can spend the money in their Battle.net Balance on World of Warcraft Pets and Mounts. Or, they can spend it on items from other Blizzard Entertainment games like Overwatch or Heroes of the Storm. This gives more options to World of Warcraft players who also play other Blizzard Entertainment games.