Americans had radars. Japan did not. Radar allowed Americans to locate Japanese fleet and planes. So Americans had advantage. Carriers are not needed to fight Qaeda. Russia don't need carriers, only subs that are armed with cruise missiles.
Submarines has other effectiveness.
Carriers & Submarines both are effective tools of Naval defence. Both can not / should not be compared with each other. Both has entirely different significance .