"PS 3.0 supports dynamic conditionals and much larger Shader programs, so it becomes possible to render in a single pass what would previously take many passes. For example, a renderer can more practically combine multiple light sources into a single pass, using a dynamic conditional to handle the properties of each individual light in a single pass.

Regarding the general question of "Why are conditionals needed in pixel Shader programs", I recommend comparing the situation to that of C programs. How many useful C programs don´t contain conditionals? Approximately none!" (Tim Sweeney, Founder, EPIC Games)

"In PS3.0 shaders it´s possible to decrease number of shaders using dynamic branching (one Shader for general lighting) and in such way decrease number of Shader switches and as result increase speed, and also we can utilize dynamic conditional early reject for some cases in both PS and VS and this also will increase speed." (Andrey Khonich, Crytek, Makers of Far Cry)

"It is more about freedom and removing limits rather than what can or can´t be done. Pixel Shader 2.0 would be more like programming in C with only half of the commands available and with half of the RAM available. Pixel Shader 3.0 offers the ´programmers´ a lot more flexibility in terms of control of the logic of execution and length of the program itself. The effects will be easier to write and probably will look more movie like. You may also be able to reduce the number of separate texture passes down as you can write more complex pixel shader programs to do the math necessary." (Rick Johnson, Senior Programmer, Raven Software)

"Any programmer will tell you that higher precision is better, all else being equal; if that high precision comes at an extreme cost then of course it will be used sparingly. As shaders get more complex, the precision requirements rise accordingly. Current games may not take advantage of the extra 8 bits of precision, but it´s likely that future games eventually will." (Mark Davis, Chief Scientist, Novalogic)