Why are images created by WP larger than the original uploaded image?

When you upload an image, WordPress creates some additional versions of it – they have different sizes and are meant to be used in different places in your theme.

Such new images are created on server and by default they have compression rate set to 82 (since WP 4.5, 90 prior to that).

But compression is not the same as optimization.

So if your uploaded image has lower compression rate (for example 70) or is optimized, then such new file can be bigger in kB and smaller in pixels in the same time.