gl.enable(gl.TEXTURE_2D) is invalid WebGL, and is absolutely not needed (according to the spec) to make textures work.
However, pipy says in the comments that, at least for him, textures don’t appear without it. Both pipy and Kenneth Russell suspect that the cause might be the graphics driver. [UPDATE: sounds like that was it: he's managed to find an updated driver that fixes it for him. See his comment for more.]
If this is a widespread problem then until the drivers are fixed, it needs to be addressed by people building WebGL pages (or maybe even in the browsers). So it would be great to get a sample of how many people are affected: if you have a WebGL-enabled browser, could you have a quick look at this demo, and then post a comment here saying whether or not you see the wooden crate texture on the spinning cube, and what OS/graphics card/browser combination you’re using? Both positive and negative results much appreciated!