Here I will argue why head driven generation is to be preferred.
First note that the order of processing is not left-to-right, but always starts with the head of a rule. The logical form of this head is always known by the prediction step. This constitutes the top-down information of the algorithm. Apart from the top-down logical form information the algorithm is directed by the information of the lexicon because the order of processing is bottom-up. Head driven bottom-up generators are thus geared towards the semantic content of the input on the one hand and lexical information on the other hand. Of course this is especially useful for grammars that are written in the spirit of lexical linguistic theories. These two sources of directedness yield generators with acceptable performance.
Apart from considerations of efficiency the major reason for constructing bottom-up generators has been the left-recursion problem summarized in section 2. If the base case of the recursion resides in the lexicon the bottom-up approach does not face these problems. Typically in grammars that are based on theories such as HPSG, UCG and CUG these cases occur frequently, but are handled by BUG1 without any problems.