Multiple canvases can help in some cases. Just as a quick example - say you have 2 layers (canvases) to your game.
The background of your game is not going to change very frequently, for example. So one canvas will be dedicated to just rendering the background of your game. This means you only have to render the background once, and only re-render it when it changes. The other layer of your game can render anything that moves constantly.
If all were rendered on the same canvas, the background would be re-drawn every frame along with everything that moves, and this can cause a more slow rendering time.
I hope this was somewhat clear - I can elaborate more if needed.