Short answer: Yes.
Long Answer: Yes, you have to purchase all of the expansions prior to the most recent expansion in order to play the most recent expansion. The simplest reasoning for this is that each expansion also includes a level range. You cannot level to 90 without first leveling to 60, then to 70, then to 80, and then to 85.
It's worth mentioning that The Burning Crusade and Classic (vanilla) are packaged together, so they cannot be purchased separately. At regular price, The Battle Chest (the combination of TBC and Classic, including a free month of play) is $19.99 USD, Wrath of the Lich King is $19.99 USD, and Cataclysm is $39.99 USD. You can also play for free up to level 20 with the Starter Edition.
Also, there is a discount if you purchase all of these at once. However, I believe that you have to create a Battle.net account (don't worry, it's free) and then buy the game from Battle.net, attaching it directly to your account.