Bitmaps vs Vectors
There are two basic types of graphics that I will describe that can be used to make patterns. Vector based graphics created by programs like Adobe Illustrator, Corel Draw, and Inkscape. Bitmap or raster graphics like those created by Adobe Photoshop, Corel Photopaint and GIMP.
Vector based graphics are mathematical representation of an image. Vectors are composed of nodes which define the space in relation to other nodes to create shapes, lines and curves. These complex shapes are then layered upon each other in order to define an image. The advantage of vector graphics is the file size tends to be much smaller. You may enlarge or shrink down a vector graphic without losing quality because the nodes stay within the same relative position to one another. The mathematical formulas recalculate the image based on node information, so there is no information that is lost (or gained) during resizing.
Bitmaps are a rectangular grid of pixels (blocks of color) used to define a picture. The more pixels that are used in an image, the more information the image contains. This is called resolution. The higher the resolution is, the more detail you can pull from an image. You can enlarge a low resolution graphic. But since a low resolution only has so much information (number of pixels), when you enlarge it, it only spreads that information over a larger area. You do not gain additional detail by enlarging a low resolution graphic.
So it also depends on the type of pattern you want to make. I would use Adobe Photoshop, Corel Photopaint and GIMP for photos/portraits. Adobe Illustrator, Corel Draw, and Inkscape for designs (Welcome Sign).
I hope this helps.