Why are people who spend a lot of money on video game micro-transactions called "whales"?
Solution 1:
The term "Whale" is borrowed from the casino industry, where it is used to describe a rich gambler who bets extraordinarily large amounts of money. Just like in the game industry, casinos want to "catch" the most high-betting whales, because they provide a lot of income for comparably little expense. Casinos often go out of their way to form personal connections with whales and provide them with personalized service to ensure their loyalty and make sure they lose their money in their casinos and not those owned by the competition. Some game companies in the microtransaction business are also known to do this.
The casinos, in turn, took the term from the Poker community which has a tradition of using fish-themed terms for different categories of players, like "fish" for weak players and "shark" for strong players who prey on the "fish" in order to take their money. A "whale" is what every "shark" hopes to find: a very large fish* who has a lot of money and likes to play high-stakes games despite not being skilled enough to compete in them.
*Yes, I know that whales are mammals and not fish.
Solution 2:
The term originated in casinos, where's high rollers (rich people who play for large stakes) are well-looked after by the casino, in order to ensure that they gamble at their casino instead of some place else.
These high rollers were referred to as whales by the casino, which can loosely be translated to "people with money to spend and who are likely to spend it on us". The same loose description applies to people who spend a lot of money on microtransactions, so the description was reused.
"Dolphin" is a wordplay on "whale", as a dolphin is a "small whale" (not biologically accurate but it fits the figure of speech).