Canvas size refers to the overall "pixel playground" in the document. It encompasses all the layers in your document but does *not* change any aspect of those layers (like dimensions).
Image size refers to the overall image size of the document, including the canvas and layers. Changing it changes everything about the document dimensionally.
If you need more room for your document but don't want to change your layers you'd go for Canvas Size. (Even better, use the Crop tool and move the handles beyond the boundaries and confirm.) If you want to change the dimensions of the entire document, you'd go for Image Size.
If you need to change a particular layer, you'd use any of the Edit > Transform commands or Edit > Free Transform.