There have been questions and articles about this, but nothing conclusive as far as I can tell. The best summary I could find is
flex-basis a
It makes a difference if you're wrapping.
Say, you set a child to width:0 and expect it to wrap, well that's not going to happen. But with flex-basis:0 it will wrap. (provided overflow isn't hidden)
width:0
flex-basis:0