A potential problem with omitting lcd.begin() ...
As far as I can decipher with my limited 'C' background the last line of the LiquidCrystal constructor invokes begin() with a default (16,1) configuration and that is how the LCD controller will be initialized. If the sketch does not include an lcd.begin() statement then the LCD controller is left in that configuration but if such a statement is included then the LCD controller will be re-initialized for the new configuration.
As you well know there are one or more LCD suppliers who still publish old example programs written before the LiquidCrystal library was updated (around v0017). Those examples do not include an lcd.begin() statement and virtually anyone who uses one of those sketches with the current LiquidCrystal library will wind up with a configuration that does not display anything beyond the first row (or the first half of the first row on most 16x1 displays).
I can see no detriment to changing the default configuration from (16, 1) to (16, 2) and I can see no advantage in keeping the default configuration as it is.
Don