Re: For those wondering "Why?"
Air Force, Army, Navy, and Marine missions (with aircraft) are completely different.
Air Force - air to air engagements, long distance bombing runs, and related support to the other services from land based aircraft.
Navy Aviators: Aircraft carriers, remote island air bases, and "First Strike" long distance air to air and air to ground combat missions, as well as at-sea operations (including at-sea rescue).
Marine Corps: Ground support, air to air combat, "first strike" and beach landing support (as well as general support of Naval operations)
Army: Mostly helicopters for air to ground and recon in support of major land engagements.
So each has aircraft, but they are different because the missions are different. I do not think Air Force needs carrier-capable aircraft nor to practice carrier landings. Similarly short range bombers launched from carriers should not be expected to fly long distances nor carry huge payloads like a B-52. Different missions.
When I was on a sub back in the day we would occasionally have Marines on board. Their mission was to guard and defend. I generally stayed out of the radio room and other places they were involved in so did not see them much. But sometimes 4 or 5 marines would be on the ship for a given mission, whatever it might be. Jokingly we patrolled "the sewers of Moscow" back during the cold war. And so my job was to help push the mobile surveillance and weapons platform through the water. The marines probably had to guard things that probably had much higher classification than I was allowed to know anything about, and to defend that equipment and/or secret and see to its destruction in the event of capture (and possibly shoot anyone with intimate knowledge of it including themselves). So there you have it, different mission, so different service, and they ride on ships when needed to perform that mission.
[That's kinda how it works in the U.S. military]