The MDN page tells us
options
nsIDOMHTMLOptionsCollection The set of elements contained by this element. Read only.
selectedIndex
long The index of the first selected element.
value
DOMString The value of this form control, that is, of the first selected option.
However it also says
selectedOptions
Unimplemented (see bug 596681) HTMLCollection The set of options that are selected. HTML5
Therefore, if you want to have a multi-select but general compatibility, you'll have to loop over options
, but if you have a single-select, sel.options[sel.selectedIndex].value
and sel.value
are equivalent, but the prior is "more similar" to the form a loop for a multi-select would take.