The real problem is that their doctrine is terrible. The Imperial Star Destroyer is a 1,600 meter behemoth. It has a crew of 46,785 people, including 9,700 Stormtroopers. It also has 76 fighters, consisting of mass produced cheap TIE Series.
Lets contrast that with the workhorse of the Republican Navy: the Venerator Class Star Destroyer. Its 1,115 meters with a small crew of 7,400. It has 420 fighters and a heavy point defense.
So, the Empire decided to simultaneously shift to a strategy of hoards of cheaply produced sublight fighters, while simultaneously cutting the carrier capacity on their primary warship to less than a fifth of its predecessor. Of course this worked horribly.
I think they switched because of a change in doctrine. The military's mission changed from fighting a full blown war to peacekeeping, which doesn't require big guns. Generally an Imperial Star Destroyer doesn't operate alone, like the carriers of today, it has a small fleet of smaller patrol vessels and support ships to fill in for any shortcomings.