I'll try to explain them here a bit as tbh there aren't many decent online tutorials.
Alright we.. firstly I'd suggest using FX Composer for Shaders.
It fully supports any DirectX Shader Card, Shader Model 1.x / 2.x / 3.0 as well as supporting Software 1.1.
When you add to that functionality the ability to load, link and/or use up to 255 Shaders at any given time with a visual thumbnail of what they do and an option of adding them either as a Screen or Object Effect, then you have a fairly powerful tool.
You can also preview real-time, recompile quickly, change variables on-the-fly, view current samplers loaded / output.
Along with the main C-Style Coding Window.
All of which is customisable to your own preference. So you have a fairly powerful creation utility at your disposal. However another good point is that it provided help information on DXSAS1.0 Compliancy, something DBP now has meaning shaders theoretically can be used without any editing as well as exporting to be compatible with Ashli (so you can load/use in Maya/Max/XSI for model development means)
On the whole it makes shader development a damn sight easier, especially from a coding point of view.
Now I think I'll cover what DBP doesn't support.
Inline Functions : Useful technique used for creating samplers each time the function is called. While there is a way to do this, it is only supported by outputting the Shader as ASM, but DBP HLSL doesn't support this yet. To output ASM from FXComposer then click on Shader Perf and select your card.. Your card MUST support shaders to use Shader Perf. So those of you using it in Software 1.1 mode (like I am right now you can't access it).
Scripting : This can be useful for having shaders run slightly differently based on what is going on as well as controlling the function order better. Can increase performance and functionality under the right circumstances, but DBP doesn't support this and don't see why it ever will tbh as for most games it's pointless.
Shader 3 : Technically yes this is supported, but only the most basic implimentations that can revert back to 2.0.. so don't even bother using it. Again this is a feature that can be used with the ASM shaders, but the complexity of sorting out SM3 in ASM is honestly not worth the benifits over 2.0 HLSL. Only use that as a last resort.
There's a number of other things to look out for when making shaders for DBP, but I don't have a lot of time right now to explain them all. Mostly it's semantic stuff.
Intel Pentium-D 2.8GHz, 512MB DDR2 433, Ati Radeon X1600 Pro 256MB PCI-E, Windows Vista RC1 / XP Professional SP2