It's fairly simple.
First off, constraint TARGET bones need to have a name. You select the bone with the bone select tool and type in the name in that text box at the top.
Select another bone you want to constrain and open the constraint window by clicking the bone constraints "button". The bones being constrained do not need a name. But the target needs a name so it can be selected in the constraint window. I save trouble and name all of my bones.
The constraints do pretty much what they say. You select the bone you want as a target for the constraint and type in a value.
NOTE:
1 = 100%. So 0.5 would be 50%, 0.25 = 25%, 3 = 300% etc. You can use numbers higher than 1 and also negative numbers.
In the angle control it does just that... the bone being constrained will rotate like the target bone set in the constraint window rotation or angle section.
Translation same thing only it has separate settings for the x and y movement. The constrained bone will move like the target bone in those directions based on the settings.
In use these have incredible power. You can create fan bones for joints. Like at a knee or elbow to smooth out the motion when a limb bends. You can have a bone for a bulging muscle when an arm is bent.
If you get really fancy you can create complex rigs for controlling elements like eyes and eyeballs. For instance dragging just one bone could move both eyeball bones in unison. If the head is a 3/4 view and one eye is smaller because it is "further away" you can change the percentage of the constraint to compensate for this.
The angle limit at the top of the constraint window will limit how far a bone can rotate. This can be useful for arms and legs that shouldn't bend backwards. That does not need a target.
Bone dynamics is a whole other story. I don't use it very much so your own with that one. It is used to make bones "wiggle" realistically, like a springy antennae or a long pony tail.
I... love... bone constraints. I use them... too much some might say.
-vern