A BahnCard isn't automatically worth it for everyone - saying "just go with the 50" would be oversimplifying. What matters is how many kilometers you actually travel and at what prices. For weekend trips to your family, you need to do the math on whether the 50% discount will pay back the annual fee. Rule of thumb: if you take, say, two train trips a month (so around 24 a year), you'd already need decent individual trip distances for the 50 to make sense. The 25 is often the better compromise for your situation - significantly cheaper upfront and still gives you 25% off almost every trip.
The problem with train cancellations and delays is tricky: they tend to influence your decision more emotionally than economically. Sure, if the train gets cancelled, the discount doesn't help you - but that's a quality issue with the railway, not a reason to avoid the BahnCard. If anything, it's the opposite: if you're traveling regularly anyway, you'll save real money with the card, even when individual trips go wrong. Look at your last train trips and calculate what you'd have paid with a 25% or 50% discount - then you'll see concretely whether the fee pays for itself. For regular weekend trips spread across a year, I'd personally lean more toward the 25, unless you're really traveling longer distances frequently.