From the script:
Alarms sound throughout the hidden Rebel base. In the control room, a controller urgently gestures for General Rieekan to check a computer scan. CONTROLLER General, there's a fleet of Star Destroyers coming out of hyperspace in sector four. RIEEKAN Reroute all power to the energy shield. We've got to hold them till all transports are away. Prepare for ground assault. Rieekan exits hurriedly. [...] VADER What is it, General? VEERS My lord, the fleet has moves out of light-speed. Com-Scan has detected an energy field protecting an area around the sixth planet of the Hoth system. The field is strong enough to deflect any bombardment. VADER (angrily) The Rebels are alerted to our presence. Admiral Ozzel came out of light-speed too close to the system. VEERS He felt surprise was wiser... VADER He is as clumsy as he is stupid. General, prepare your troops for a surface attack. VEERS Yes, my lord.
Why exactly was this a bad idea, and what was Vader's preferred strategy? The Rebels can apparently raise their shield instantly, so it seems like they would do that anyway, surprised or no. In fact, since being surprised gives them less time to prepare, it seems like this is a good strategy on the Empire's part.
Is the issue that the Imperial forces didn't have enough time to prepare, and it would have been better to come in farther out and spread out, as this answer says? If so, why wouldn't forming up while already in the system also give the Rebels warning, and give them even more time to escape? All I can really think of is that they would have somehow known the range of the Rebel sensors, dropped out of hyperspace just past them, formed up, then quickly flown into range, but that seems hard to infer from the exchange between Vader and Veers.