There are indeed a lot of possible reasons, depending on your soft- and hardware.
On the classic machines (pre 1200) you had to match the colors of the Workbench to avoid crazy dithering artifacts. Check your prerferences for the screen colors to see which ones there are. You couldn't use HAM-Pictures either.
On OS4.X there is an option for the quality of the scaling algorithm in WBPattern. You may see some degrading when not running in 32Bit-Color, but this should be minor.