You are responsible for teaching the students to the best of your ability, and to judge their capacities to use what they have learned. That judgment is made based on their grades. So you have several things to think about here.
Are you teaching the best you can? Teaching does not mean "downloading facts", as I'm sure you're aware. It means "transferring knowledge, skills, and attitudes". That "transfer" part is the important bit — transfer means that the student is able to reproduce and use what they've learned. Is your teaching enhancing this transfer? This is a tough nut to crack — how do you know? Are you planning your assessments so that you can really tease out the nuances and to see which students really understand, or are they just assessments because you need to assign a grade somehow? Your institution might have a center for teaching how to teach, and if you feel that you aren't teaching your best class then start there. Otherwise, lots of books and resources exist, which I'm sure we can all provide.
Are you assessing fairly? Fairly doesn't mean easily. It means that you are creating assessments that actually test understanding and that a student with reasonable ability will be able to succeed at. It also means to understand their context. It's easy to make a "really good" assessment that everyone fails because they also have three projects and two midterms in their other courses. Are your expectations clearly communicated, and are you ensuring that you only assess what you've asked for? (that doesn't mean that you can't expect students to go above and beyond, just that you need to tell them you expect them to)
Are you assessing accurately? I'm distinguishing this from "fair", but you can treat "fair" and "accurate" as two sides of the same coin. Accurate means that your assessments are set up so that appropriate weight is given to appropriate topics, and that your tests actually enable students to display their understanding and capacities, rather than whether they memorized the example or found the answer on stack exchange. Creating fair assessments is challenging, but there is a lot of research and resources available.
Are you giving every student the chance to seek help? I often find that if students are slipping through the cracks, setting up a regular meeting with them to keep them on track can do wonders. However, I am in a job in which I'm required to work with students like this, so it's easy for me to do. If you are a busy research professor who is teaching two courses per semester while juggling other things, it's a lot harder. Ultimately, the final exam is not when a student should find out they failed the course. They should know that they are on a bad path long before then, and should have opportunities to get on track.
If you are doing these things, then you are not causing them financial ruin. It's similarly not fair to say that the students are causing this — you don't know their context and can't make the judgment. Perhaps they went to a bad high school that just didn't prepare them, or perhaps they are always on the train to another city because their parents are sick and they can't attend classes. It is not your responsibility to help them in this way unless you are capable of providing everyone the same help. Which brings me to the most unfortunate reality of post-secondary education:
Not everyone can make it. For whatever reason, some students simply will not demonstrate that their abilities are up to the standard that has been set. Notice the wording I used there — I didn't say that they don't have those abilities, but that they will not demonstrate that they have those abilities. Provided you are assessing them fairly/accurately, teaching the best you can, and giving the help they pay for, then you are providing them with every opportunity to demonstrate those abilities. If they are unable to do so, then it would be unethical to let them pass regardless of the reason.