Identifying protons in NMR using the J values
The proton(s) in question absorbs at 5.95 ppm, the olefinic region - so it cannot be D which is expected to absorb upfield in the aliphatic region.  B is the correct answer.  Proton B would be split by proton C into a doublet with a 15.5 Hz separation (the coupling constant $\ce{J_{BC}}$).  Each line in the doublet would be further split into another doublet with a J=8 Hz spacing by proton A.  So now we have 4 lines, a doublet of doublets.  Each of these four lines will be further split into a triplet with 1.5 Hz spacing by the two (hence the triplet) D protons.

Using the chemical shift of a proton and the observed splitting (e.g. the coupling constants, or J values) can go a long way in helping to determine a structure, particularly in relatively simple molecules.  As molecules get more complicated you can do advanced experiments to help with the structure determination.  One example would be spin decoupling experiments.  For example, if we "know" which signal is due to the D protons, we could irradiate them with energy during our nmr experiment.  If they are coupled to proton B (they are), then the triplet in the B signal should diappear and we would just see our doublet of doublets.  This type of experiment confirms which protons are coupled to which other protons.  There are many other advanced nmr techniques that can be used to help in structure elucidation.