It can make the UI much nicer (though I agree there are probably better ways to do it, e.g. native support for letting the program output determine the UI).
Sometimes you need to run different things on different machines/OSes, and it's easier if you have separate steps there.