Assuming a connecting itinerary booked on a single ticket, you would have to pay only one baggage charge each direction (the same as for a non-stop booked on the same airline with the same origin and destination). The airline will move the baggage for you (exceptions may exist for international flights when you may need to collect baggage for customs inspection, then re-check).
Of course, if your first flight is late, then it is possible that you and/or your baggage may miss the second flight and be substantially delayed in reaching your destination.
Also, do not use the word "direct" when you mean "non-stop" when talking to airline or travel agents. "Direct" has a specific meaning that is different from "non-stop".