It always made sense to me that if a ship locked onto the Enterprise, or fired torpedoes or any number of other scenarios, the computer should be programmed to automatically raise shields. It also always seems strange that the shields are set to some frequency creating a weakness to be exploited, instead of randomly cycling through frequencies.
But, if they resolved all these weaknesses, wouldn't it remove a lot of tension in the plot? Also wouldn't it eliminate a huge amount of plot points used in the TV show and movies if the Enterprise didn't get blasted now and then from not manually raising shields in time before getting shot at?
In response to the comment made to my answer - The shields do not automatically raise in every episode or movie. In Wrath of Khan the enterprise is shot at before Kirk has time to raise the shields after the Reliant locks on to fire causing damage and death. In the Next Generation TV Series when Warf is traveling through dimensions, he fails to raise shields in time causing people to die. In one episode (related to my shield frequency comment) Geordi's visor gets hacked so the Klingons know the shield frequency, instead of randomly changing the frequency the shields operate at continuously. There are a number of examples of this plot device.
If the shields and defense systems worked the way technology likely would look in 300 years, it would make for a boring show. A torpedo fired at the Enterprise would get shot down by automatic phasers while simultaneously raising shields without human intervention. Instead the show is something we can all follow.