ググレググレじゃ2chのいみがねーんだよ「かす」

voatileは最適化をなくす
C,C++コンパイラは最適化を頑張り過ぎてて
変数のデータがexeに残らなくなったりするんだよ
ベンチマークとったりするときは最適化で消されると困るからその指令をつける

あとはすっげー稀なケースだろうが
C,C++の最適化のせいで意図した動作をしやがらない時にもつける事はあるはず
知識として知ってればいいだけで、全然使わない