Shaders
Shaders have been changing and the Fixed-function pipeline has been removed since DX10 so you may want to keep current with which hardware you're programming for.
NVidia GPU Programming Guide
http://developer.download.nvidia.com/GPU_Programming_Guide/GPU_Programming_Guide_G80.pdf
Why use shaders?
https://developer.nvidia.com/sites/default/files/akamai/gamedev/docs/ShaderIntegration_China.pdf
Intro to shaders / an explanation of the pipeline changes
http://rbwhitaker.wikidot.com/intro-to-shaders
Shader Models vs Shader Profiles (Windows)
Shader Models vs Shader Profiles (Windows)
http://msdn.microsoft.com/en-us/library/windows/desktop/bb509626(v=vs.85).aspx
http://en.wikipedia.org/wiki/Shader
What is a shader you ask?