There are several models of macro lenses for a canon body. (true macro lenses have a 1:1 magnification ratio; an object projects an image to the sensor the same size as the object in real life). Canon's macro lenses include the 100mm, the 180mm, and the 60mm EF-S; (the 50mm is not a "true macro", having only a 1:2 ratio). Image quality on all of these lenses is very good, the main operational difference being focal length and therefore working distance.
The lenses mentioned above are all capable of focusing to infinity, so they will work for portraits, etc. I have excluded the specialized MP-e 65mm, because the minimun magnification is 1:1, and would probably not be useful for product photography.
There are also ways of using your existing lenses for macro photography. They function by reducing the minimum focusing distance of the lens. Because of this, all of these methods give up infinity focus ability. One method is to use close-up filters that screw onto the front of the lens and act as magnifying lenses; this works best for longer focal lengths. Optical quality is usually poor, due to the fact that you are putting a fairly cheap piece of glass in front of your lens. Another common method is to use extension tubes or bellows. These are simply hollow tubes that sit between the lens and the camera. Extension tubes move the lens away from the sensor, moving the focal point closer to the camera. Since tubes have no glass, any optical abberations are from the lens and they are generally superior to filters.
There are many options for macro photography, a little bit of research will yield a lot of info
Phillip