Does WP create multiple images?

WordPress shows whichever image is requested by the function that outputs those images in the template. The presentation of images is entirely up to the theme developer, WordPress doesn’t make this decision on its own.

For example, the_post_thumbnail function:

the_post_thumbnail('thumbnail');       // Thumbnail (default 150px x 150px max)
the_post_thumbnail('medium');          // Medium resolution (default 300px x 300px max)
the_post_thumbnail('large');           // Large resolution (default 640px x 640px max)
the_post_thumbnail('full');            // Full resolution (original size uploaded)

In addition to the default sizes, theme and plugin developers can add their own custom sizes via add_image_size. An example use case for this is a header banner, where you need a specific cropped image size.

Why it does this is for flexibility and efficiency on the front end. Consider the case of a gallery of thumbnails where the originals are all 1200px + images. Simply scaling the full size images to thumbnail size may result in a 20mb page load, versus a 2mb page load if resized thumbnails are displayed.