Why to cross-compile everything from scratch instead of using natively compiled binaries like everybody else does?
Speed, control and quality. You get much faster turnaround and better integration with continuous building / regression testing. This enables much more distributed development. Note that commercial embedded distributions allow you to cross-compile only software they are providing, with their systems you can’t just get some Open Source software from the internet and expect to be able to cross-compile it.