Because otherwise you are not preserving energy. In real life, you cannot have a surface that is 100% reflective and that still has its own diffuse color (don’t confuse this with tinting the reflection, thou).
Just adding the reflection without compensating for the amount of reflection can lead to washed out (read: >1) colors, even if the lighting is normal.
Additionally, I dont understand why the reflection light intensity or power, is calculated with the same equation of the diffuse light intensity.
Err… there’s not really such thing as “reflection light”. You problably have some terms confused. Are you referring to the specular of the light as it hits the surface?
Should I implement the reflection by the book?
Is reflection implemented differently in 3D rendering software? What about lightwave? How is it implemented int lightwave?
Lightwave is indeed one of the few packages that implements reflections as additive in its base shader (not in some plugins, thou), without taking into account energy conservation. Thus, if you set your reflection to 100% and you reflect pure white and your object’s diffuse is not 0, you will get a washed out image.
Also, Lightwave’s traditional shader model did not allow tinting reflections with a color different than the object’s diffuse (albeit nowawadays there are ways to do it, including plugin shaders).
If you are going for a physically correct shader, you should implement reflection respecting energy conservation.
If you are going for matching Lightwave or you want to allow your user to have more control (and also the burden) of having himself deal with respecting energy conservation by having him tweak two sliders (reflection and diffuse), you should not. For the user, this approach is more of a pain for creating, for example, a “real” glass, but it can also help artists achieve reflecting objects that are more “glowing” or “ghost like”, which can also have some uses.