The Olympics in Sochi were very expensive for many reasons. The town of Sochi was not built to host such a large event and many infrastructure projects needed to be initiated to make the event a success. Another reason the Sochi Olympics were so expensive is that the president of Russia, Vladimir Putin, wanted Russia to look impressive while it had the attention of the world.
The stadiums and venues that were built in and around Sochi cost more than the average nation is willing to spend on a one-time event. The Olympics in South Korea were also expensive but not nearly as expensive as the Olympics in Sochi.
The reason is simple: PyeongChang Organizers did not invest unnecessary money. Russia, before the 2014 Sochi Olympics, wanted to show off grandeur and hence ended up spending 60 times of its initial budget. There are allegations right now that almost half of the budget was embezzled during Sochi. Sochi is a city located near the borders of Russia and thus required more security which increased costs.
Pyeongchang, on the other hand, wanted to keep it simple. Nobody wants to organize the Olympics because of increasing costs and the fact that the venues that are constructed will never be used again. PyeongChang knew this and cut down costs by limiting construction. In addition to that, the stadium created in PyeongChang is temporary and will be dismantled after the Paralympics.