Do I need to resize an image to fit the post?

You should use the built-in WordPress media manager to attach/insert images in posts. That way, if you define $content_width appropriately, WordPress will auto-resize large sized images to fit accordingly.

Otherwise, you’ll have to rely on using CSS to set the max-width property for images within your content container (e.g. #content img{ max-width: 500px; height: auto; }

Outside of these two methods, WordPress will not resize your image. If you insert an image in a post, and that image is wider than your content width, the image will overflow your content area.