Q:

Why do colors output differently when I print within InDesign compared to printing within Photoshop?

I was wondering if anyone has experienced this.
When I test print a design from Photoshop, my printer output something closer to the colors on screen.
However, when I print the same design from InDesign, using the same printer, somehow the colors change - darker....hue change a little bit. 
Does anyone have any idea why this happens?
I don't understand because it's printed from the same printer and it's the same file. 
Why does this occur? 

A:

There are two key points where color information is manipulated: your printer settings and the application's settings. The third (undesirable) option is "both," and you have to ensure that this isn't happening. The details depend on which model of printer you're working with, but I'll assume you're using a decent photo-quality printer rather than a Fiery or similar Postscript RIP.
Both Photoshop (in practice) and InDesign (in theory) give the option of letting the printer control the color or having the application control the color. In either case it's the ICC profile, as @Robert W McElaney points out, that finally determines how the ink hits the paper. What you need to make sure is that it's the right profile and that it's the only one applied to the color information on its way to the paper.
Some basic troubleshooting tips:

Make sure that the default RGB color space for both applications is sRGB, that your Photoshop document is in 8-bit mode, and that the document is in RGB mode in both. (In InDesign, set Edit > Transparency Blend Space to RGB.)
In Photoshop, convert your artwork to sRGB if necessary (Edit > Convert to Profile) before printing. In Photoshop's printer dialog, select "Photoshop Manages Colors" and choose an appropriate ICC Profile for your printer and the paper you will be using.
In InDesign, which in almost all cases insists upon doing the color management, set "Output" to "Composite RGB" and under "Color Management" set the Printer Profile to the same ICC profile you used for Photoshop. 
In both cases, ensure that you turn off color management in the printer settings dialog for your printer. How you do that will depend on the printer manufacturer and model. If you don't know, dig into the manufacturer's website to find out. If you leave the printer at its defaults, it will take the incoming color information from the application and apply its default ICC profile to "correct" the color, with unpleasant results.

Having said all that, don't rely on what comes out of your desktop printer as an indication of what will come off a commercial press unless you have calibrated your monitor and printer using a professional calibration tool.

