When you develop with Canvas you will have to use the GameLoop technique which is very painful because you will have to redraw all elements all the time.
When you develop with DOM you will be able to redraw only the objects that have been modified and will let the hard work for the browser implementation.
if your game has a few modifications per frame then you can use the DOM, otherwise use the Canvas please! It is so much faster!