Most carrier production only happens when the AI is preparing for or engaged in an intercontinental war. There's a small probability of building a carrier just cause when the AI has no war plan, but it's small.
So if you're playing a pangea map where most wars are land-based, then the AI won't build many carriers. On an Archipelago map or something, you'll see plenty of carriers and planes.
As for no planes showing up on the carrier, the AI has this quirk that to it fighter != fighter, just like galleon != galleon ... there are air defense fighters, and there are carrier fighters. In some circumstances it will flip one categorization to another, but generally they are separate. Carrier fighters are also mainly built when the AI is engaged in an invasion (and has carrier space), otherwise they are not a priority.
Right now the logic for building carriers is tied to the logic for building transports for naval invasions ... loosely speaking, the AI will have one carrier for each transport invasion group. Now, carriers can of course also support troops on the ground as they push through enemy territory, regardless of whether the troops arrived by boat or not. But how can the AI determine in advance whether building a carrier will be worth it to support a land war?
Carriers are expensive and require dedicated naval defense as well ... the decision to construct one needs to be based on some reasonable belief that it will yield returns similar or better than building tanks ...