If I want to draw and animate, is Element.animate() faster than using html canvas and redrawing it multiple times?

I’m trying to make a simple web-based game where there’s a static map but you can move the player with some certain, still unknown, animations.
I have been using the canvas, but I’m getting to the point where I want to move the player (a simple circle, maybe an image later). I’ve stumbled upon Element.animate(), which is apparently very efficient. Though I cannot really use this with the canvas as far as I’m aware. So now I’m wondering why I am using canvas when I could just draw everything on the html document itself.
Why would you ever want to use the canvas (for 2d) when this is always the case?