Dev - HTML5 Canvas & the DOM explained, and why use a lib?

Dev - HTML5 Canvas & the DOM explained, and why use a lib?