Inkscape which is available for all operating systems (Windows, Mac OS and Linux). This is a vector graphics design software, and as they say on their website, it is similar to Adobe Illustrator. You can import images, re-size them, add text on top, put images side by side and lots more.
Another benefit I've found from Inkscape is that it can open pdf files to edit them. You can only use the file in a limited way but an advantage is you can extract images from the pdf file.
Once you've designed something in Inkscape you can export it as an image to then use elsewhere. The export is only in png (portable network graphics) format but that can easily be changed to another format. For example I use Gimp, another editing software, which can change the image from png to jpg (a common form of image compression) which is more widely used.
It is great for re-sizing an image, cutting part of an image out (you can even edit people out and put them on a different background) and many more uses. You can also export the image into another format and/or export it to a lower resolution, for example to use on a website. There are loads of tutorials online for how to use different aspects of Gimp, just google what you want to do and you often find someone has documented the steps you need.
There are many tutorials online for how to use these excellent tools and I hope you have found this useful.
Here are some examples of images I have created using these programs.
Two images blended with Gimp
Business card created using Inkscape
Background changed and round corners added to a photo using Gimp