You can use any compositing software to gather the final image, including Photoshop. I prefer a node-based compositing such as Shake or Nuke. The way to mix your layers is very simple: you should multiply raw gi and diffuse and add reflections, refractions and light (screen in Photoshop). Here you can see the result of mixing main layers of the fish without any correction:
There are also two very useful and quick rendered layers: Z-Depth and 'Normals'.
You can use 'Normals' to correct any of your layers, for example to light them from any side using the R (red),G (green), or B (blue) channel of the 'Normals' layer as a mask for colour correction. Here is an example; the left part of the image is the rawGI layer, and the right part was corrected using Normals layer.
The z-depth layer is used to make the difference between the farther and closer objects of the scene, and it was quite useful to imitate the water.
I rendered the bones for the back the same way, then I rendered the plankton layer (I used a particle cloud to generate it). I rendered the blind eye of the fish separately, which gave me all the necessary materials for compositing, then I could shut down 3DSMax. Now all I had to do was to colour correct the layers to create the mood in the image. And here is the final result:
As you can see it is pretty far removed from the original render images. I didn't want to show you a step by step tutorial how to create the same image, but the main idea of my tutorial was to show you the benefits of compositing, I hope you could save hundred hours of rendering time using these layer compositing techniques.