Making a book cover.
The vital one would be a Image Editor like Photoshop (not free) to put everything together, or you can even do everything in it. A free alternative is GIMP.
There are also programs that aren't specifically meant for creating book covers but could make one. Almost any image creating programs could be used.
Scribus is a desktop publishing application, that is, you use it to design a book for publication thus one of its feature allows you to design a cover for the said book.
Krita is is a digital painting application, so if you are a great artist, you can paint your cover there. It also has enough features to do you image editing there after you finished painting.
There are also those online application like Book Cover Maker that you can use to create book covers but they are kinda limited. They are easy to use though.
There are also those applications that you use to create images. Images that you would then use to create your cover. Previous applications I mentioned (Photoshop, GIMP, Krita) can be used for this purpose. Other includes: MyPaint, a digital painting application; Inkscape, a vector graphics application and Blender, a 3D computer graphics software. You can create your images with these application then bring then into you image editors (Photoshop, GIMP) or any book cover making application (Scribus, Book Cover Maker) to create a finished book cover.