What makes optionsCollection more intuitive is that the property is more like the property attribute for the other html:xxx tags. It's the property of a form bean that represents the collection of options.
With html:options, property means something entirely different: The property of the bean that will represent that "value" of each individual option. Collection represents the name of a bean that represents the collection of objects to be iterated over. Since your collection is actually a property of the form bean, using html:options requires a bean:define before the statement. Here's how you'd have to do it with html:options: