You second question about the difference between
ol-debug.js got resolved pretty nicely by @MappaGnosis, however your main question still waits for an explanation.
In the fiddle, you have used the
goog class. It is a native class of Google's Closure Library, which is OpenLayers 3 built with. It has tons of convenience functions, making sure everything will be cross-browser compliant in the finish. This way, the developers can concentrate on the OpenLayers 3 specific parts. In the compiled version, the Closure specific parts get removed, therefore using
goog will create an error.
On the other hand, the source version,
ol-debug.js has to work without compiling the library with Closure. The only way to achieve this, is to concatenate the required parts (Closure specific ones included) in a single file. This way, with the debug version, the Closure functions starting with
goog, will be perfectly viable. However, using them is not recommended, as the code will break in production mode.