AFAIK you need to put the weight to some widget, which can be stretched horizontally - and VBox serves that. I think that this has been a rather common practice in the past.
I don't know how HSpacing relates to HWeight...