Canvas имеет 2 контекста -- Context2D и WebGL.
Если первый используется, в основном, для рисования 2D (хотя 3D на нём отрисовать тоже можно, и даже не слишком сложно, поищите на хабре статьи юзера haqreu), то WebGL -- практически полный аналог OpenGL (а на OpenGL работает огромное количество игр и приложений, да хотя бы квейк на нём был). Соответственно, работает быстро, 3D легко рисуется.
Ну и я уже не говорю про огромное количество библиотек для рисования 3D на нём, одна из самых известных -- уже указанный ThreeJS.