I can't find an explanation when which should be used in any guide. Even their presentations in “DocBook 5.2: The Definitive Guide” by Norman Walsh are similar. Maybe, one of them is deprecated? Maybe, there are fine differences described only in the Relax NG grammar? I didn't get to learning Relax NG yet.
Check out Chapter 17 of the Docbook XSL Book http://www.sagehill.net/docbookxsl/
From the passage:
Using a glosslist in running text, instead of a variablelist, for example, maintains the semantic distinction of a glossary. This distinction may be necessary if you want to automatically point to the members of the list with glossterms in the body of the text.
I'd have to check out the HTML output, but if the distinction is semantic, it's mainly to help you to distinguish between functions in list.