Creating images 'on the fly' is nearly always slower than loading a saved image from disk.
But people use PHP to create images so they can change the content of the image dynamically. For example, you can use the GD functions to create an image that contains a graph of the current server-load. You simply cannot do that using a paint program.
If the images don't change, then it is nearly always faster to use a static imagefile on disk. (especially because those images can be cached both by the filesystem, the server and the client)