Some airlines charge a no show fee because they are trying to discourage people from booking flights and then not showing up. This helps them manage their resources more efficiently, as it allows them to better predict how many passengers will be on each flight.