When you print images yourself or send them out to a printing service, do your prints look like what you see on your monitor? If not, there may be many reasons for this, but the first to consider is that your monitor is very possibly off in terms of color, brightness and contrast. If, for example, your monitor is too bright, then your prints will come out darker than you expect. If your monitor is too blue, your prints will look too yellow (the opposite of blue). The solution is to calibrate and profile your monitor on a regular basis, using what is called a colorimeter. I recommend the Eye One Display 2, though I am sure there are other good ones out there as well. The Eye One is $200, but it is money well spent if you are a serious amateur or professional and want consistently accurate output.
Rather than explain how to do this process, I will point you to another good set of videos by David Marx. Watch the first video for non-Apple monitors, and the second for Apples, including their laptops.
PS: Other reasons for prints you do yourself being off include (but are not limited to) not using a good quality printer/paper profile, viewing the print under a light with a color cast (like a fluorescent light with a green cast) or under an insufficiently bright light, forgetting to turn color management off in the printer driver, and clogged ink nozzles.