Yes, airlines may cancel any flight. There is no obligation to execute a specific flight.
Their obligations towards the passengers depend on the local legislation. For instance:
- International Flights: Airlines may cancel international flights, but passengers on flights between countries that honor the Montreal Convention are entitled to damage compensation if a cancellation cannot be justified.
- European Union: According to Flight Compensation Regulation 261/2004,
airlines are obliged to transport their passengers within a certain time frame. They will have to compensate passengers after a certain amount of delay is exceeded.
- USA: There are no federal laws requiring airlines to provide passengers with money or other compensation when their flights are delayed. Airlines may book passengers on a flight of a later day. (Source)
Yes, airlines will cancel a flight if it is not profitable, but they will take into account all operational and commercial implications, and not just the profit on this particular flight. For instance the plane and/or the crew might be needed at the destination, or the plane has to park in a different place.
It depends on the airline if they will use a pretext. It is fraud if they use a pretext and avoid paying compensations to their customers.
I am convinced that most airlines are honest, but many
are not.
In a charter flight all seats are booked through a travel company. The legal obligations of the airline should be the same.