If it was not for the need to have a fallback for IE9 I would be using flexbox as standard, its a great feature with deals with so many of the common page layout issues, including vertical align.
Bootstrap is quite web focused still so I guess it will come when support for IE9 is not expected.
Though if you are doing an mobile/tablet only solution I would probably use flexbox only now. As long as you keep to the 2012 spec, you should be ok.
Its bigger then li's it about an overall approach. In this use case, yes maybe its an overkill but in some cases its not and allows for quite a bit of flexibility to use the same styles across multiple element types.
I guess it's come about from trying to be more semantic within the documents.
Declaring Headings with classes is a good example as well.
The same can go with .collection, somebody may want to use the styles on something thats not a list for example <div>'s.
It also does not really go against inheritance, themes like .collection-alt can still work.
Sometimes its an overkill and I don't always do it, but in some cases (heavily responsive sites) it has worked really well. Its also easier to work in a team with one approach, rather then just doing it for headings etc why not take the principle/standard across all styles.
How come with hear little or nothing about Apple having such a closed and restricted environment for iPhone. For example with payments having to go through them?
Bootstrap is quite web focused still so I guess it will come when support for IE9 is not expected.
Though if you are doing an mobile/tablet only solution I would probably use flexbox only now. As long as you keep to the 2012 spec, you should be ok.
http://caniuse.com/#feat=flexbox
Bring on the death of IE9!!