Adobe Illustrator is the best option because graphics are vectors, meaning you can size and resize your images without making them pixelated. You can create poster sized images or cake toppers with the same graphic and the quality of the graphic won't be affected.
In Illustrator, you can design patterns, complex graphics and work with type. You can learn to design printables fast with the Basic Printable Design Course from Printable Crush. Illustrator is a highly in-depth program, so taking a course is a quick way to learn the basics.