It's just an entertainment, not different in essence from movies or any other sporting event. I personally like Winter Olympics much better than the ones in summer. As for Sochi in particular a lot of money was stolen, but that is Russian problem and not necessarily something I need to worry about.
Sochi itself has a subtropical climate, but the ski resorts in the mountains nearby have plenty of snow most years. The problem with giving hosting rights to colder places is that it's difficult to find a sufficiently large towns high in the mountains. It used to be that the games were given to ski resorts themselves (Albertville, Lillehammer etc), but with the perpetual growth of the event it wasn't financially viable anymore. Therefore lately the host is a nearby big city (Nagano, Turin, Vancouver, Sochi) regardless of climate hosting all indoor events with outdoor events higher in the mountains.