Okay, so technically you are right, you don’t have to move or mobilize a carrier to provide a safe landing place for surviving fighters and tacs.
However, it is the fighters and tacs that are actually restricted. You can NOT move any fighter or tac into a combat situation where they would not have a safe place to land. So, if you send any fighter or tac into a combat situation, you have to declare where they will land. In this case, if the landing would involve either an existing carrier moving in the NCM or a new carrier being mobilized, then you would have to declare that movement or mobilization.
If the fighters or tacs in question are killed in the combat, then the existing carriers are no longer committed to the NCM and new carriers are no longer committed to being mobilized in the specific sea zone where the fighters/tacs would have landed.
You simply can not plan on the fighters/tacs being destroyed when you make your combat movement. Even if it is a large battle and you are sure that you will experience casualties and plan in your mind that the fighters/tacs that you send to the limit of their movement will be among your first casualties, you still have to declare that they could land somewhere.
I guess you could consider this more a question of etiquette than actual game mechanics. When you make your combat move, you declare where your planes will land as a matter of consideration to your opponent regardless of your actual plans for those planes.
However, if the battle goes much better for you than expected and those planes in question survive, then it changes from simple etiquette to a mandatory move. In other words, then you are “stuck” moving or placing the carrier so those planes have a place to land.