What is the difference between распродажа and акция? When should one be used rather than the other?
Распродажа- это продажа товаров по сниженным ценам, которая продолжается до тех пор, пока весь товар не будет продан. Акция может продолжаться даже всего один день с таким рекламным слоганом "У нас сегодня акция: покупаете две бутылки вина, третья бутылка - бесплатно!"
Распродажа is a sale of goods at reduced prices, which continues until all goods are sold out. Акция can continue even for just one day with an advertising slogan like "Just today: buy two bottles of wine, the third bottle for free"
I think that распродажа is not necessarily requires that "all goods are to be sold". For example "рождественская распродажа" just means that during some period of time before Christmas the prices are lower than usual.
Распродажа usually have a simple rule: "all prices are 50% off" or "these items are 50% off and those only 30% off", or "old collection items have their prices 50% off (and new ones have their regular price)".
As for акция (which is a short form of рекламная акция) it have more complex rules like "3rd item in a check is sold at 50% of regular price" or "When you buy a toothpaste you got toothbrush free", etc. So, it is more targeted or focused. And, of course "акция" may also end when all the goods that participate in it are sold.
The difference, according to Russia's practice in recent years.
"Акция" is a type of sale announced for a very short period of time. It is aimed either at promotion of some new goods or at fast partial selling of goods exceeding available room for storage (just after getting a big party of goods like food). In both cases the goods are usually of proper quality but at lower prices (+ sometimes tricks with prices are used to persuade buyers into buying more items).
The word "распродажа" usually means to a potential buyer, that the seller has problems with selling those goods and has decided to get rid of their supplies or even to finish with that business. The buyers expect they'd get something not of top quality but attractively cheaper than usual.