Like you, I am also getting into the HTML 5 game development ;)
Initially I found canvas an exciting and viable medium. I tried to get what I wanted out of it, but It was very slow for my needs. So I turned to WebGL.
To see the difference, check the following three.js examples:
The original one shows a trotting horse and on my machine runs at 60 FPS. The canvas one though, looses the trotting animation (and only keeps the rotating animation), and runs at 30 FPS on the same machine.
And by the way, if you use three.js, you can switch between using canvas, webgl, css3d and even svg very easily. In the canvas example above, all I have changed is one line, i.e. commented out:
renderer = new THREE.WebGLRenderer();
and added:
renderer = new THREE.CanvasRenderer();