In his readable review in the Telegraph of the excellent new book The Field Guide to Winter Twigs by John Poland, Ken Thompson gives a lucid explanation of the difference between these botanical terms and how to identify each :
'How many of us, for example, have ever given much thought to the difference between prickles, spines and thorns? Not many, and maybe you'd still be happy not to, but I'm going to enlighten you anyway.
Prickles are simply an extension of the plant's skin, or epidermis, and can occur anywhere on a twig or branch. Roses and brambles are the classic examples. Spines are modified leaves or stipules (bracts, sometimes very leaflike, found on the petiole/leaf stalk, or on the twig at the base of the petiole). In either case, spines occur directly below a leaf scar or a bud, since buds are always in the angle between leaf and stem. Robinia, berberis and gooseberry (and cacti of course) all have spines.
Thorns, on the other hand, are modified branches and therefore always occur above a leaf scar or at the end of a short branch. Thorns can terminate a main or a side twig and (because they're branches)they can bear buds and leaf scars of their own.
Contrary to the normal dictates of sod's law, buckthorn, hawthorn and blackthorn really do have thorns, and neither prickles nor spines, so whoever named blackthorn Prunus spinosa was having a laugh.
Since roses don't have thorns, does that mean "a rose between two thorns" is wrong? I don't think so; the allusion is surely to the plant rather than the flower, so it's a rose (bush) between two thorn (bushes).'
[Life was much simpler when the Telegraph still had an RSS feed and I could just direct you to the article, not type out bits of it... The Field Guide is £19.99 from NHBS. Janet ]